Commit graph

9 commits

Author SHA1 Message Date
Chad Brokaw
782e7d51d2 Remove piet API & replace w/ fragments
Removes the dependency on the piet crate and replaces all uses with the scene crate.  Also does some cleanup of the scene API, renaming some types and moving them all to the crate root for better ergonomics.
2022-10-19 15:19:20 -04:00
Chad Brokaw
2e8be24fc9 fix fragment transform logic 2022-08-05 14:00:30 -04:00
Chad Brokaw
8943fa7ea6 encode absolute transforms
This removes the GPU transform stage, changes shaders to reference transforms directly from the scene, and modifies the render context to maintain a transform stack.
2022-07-15 14:36:20 -04:00
Chad Brokaw
d30750e8a7 Remove poorly named functions
Moves the more descriptive comments to the free functions.
2022-05-19 18:07:07 -04:00
Chad Brokaw
a20dd43b39 Updates to scene/fragment builder
* Add impl Into<Affine> for pushing transforms.
* Small QOL API changes to Scene and Fragment.
* Add some missing docs.
2022-05-18 16:26:31 -04:00
Chad Brokaw
d243d38b04 render using the new scene API
This commit implements actual rendering for the new piet-scene crate.

In particular, it adds a new EncodedSceneRef type in piet_gpu::encoder to store references to the raw stream data. This is used as a proxy for both PietGpuRenderContext and piet_scene::scene::Scene to feed data into the renderer.

Much of this is still hacky for expedience and because the intention is to be a transitional state that maintains both interfaces until we can move to the new scene API and add a wrapper for the traditional piet API.

The general structure and relationships between these crates need further discussion.
2022-04-18 03:48:10 -04:00
Chad Brokaw
db2c4d21c9 Remove unused path representation 2022-04-11 06:14:58 -04:00
Chad Brokaw
f8f91e4207 Add layer encoding 2022-04-11 06:05:40 -04:00
Chad Brokaw
753b97c342 Rebase on radial branch 2022-04-11 05:30:08 -04:00