Commit graph

13 commits

Author SHA1 Message Date
Raph Levien 92d6b1188f Fix color
Get rgba order right in rendering, plus generate separated alpha for png. The latter is just for debugging, we won't generally use separated alpha.
2022-11-04 09:25:06 -07:00
Raph Levien c3d81e0985 Mostly working path rendering
It draws multiple paths and applies affine transformations.

One problem: RGBA writing is byte-reversed and premultiplied.
2022-11-04 08:59:23 -07:00
Raph Levien 06fa3cb9ab Checkpoint
Felt like checkpointing what I have before trying to run the pipeline. Theoretically everything should work.
2022-11-03 19:37:38 -07:00
Raph Levien 5851ef1417 Shaders loaded
This checkpoint loads the shaders for full rendering, but there's a bunch of stuff still needing to be done.
2022-11-03 16:53:34 -07:00
Raph Levien 7ac327c684 Unify scene buffer
All streams of the scene are combined into a single buffer. This is very much like existing piet-gpu, however the various outputs from the compute stages (whether computed on CPU or GPU) will retain their separate bindings, which is more native to WGSL.

There's a touch of ergonomics loss, in particular when we do transforms we'll need to unmarshal them by hand, but I think overall not too bad.
2022-11-02 18:07:32 -07:00
Raph Levien 5c6ec1efa3 Checkpoint
Many shader stages written.
2022-11-01 16:20:15 -07:00
Raph Levien 40416fd2ea Another checkpoint 2022-11-01 13:55:58 -07:00
Raph Levien 06ec395b68 Checkpoint coarse rasterization
The bones of coarse rasterization are in place (so far, fills only). Still not suitable for end-to-end (need to generate bounding boxes, among other things), but getting closer.
2022-11-01 13:55:58 -07:00
Raph Levien b6da6d958b Write more shaders
This is super WIP, but represents partially written shaders for more of
the piet-gpu pipeline. Checkpointing as other work is incoming.
2022-11-01 13:55:58 -07:00
Daniel McNab 3831b58dea Prepare for wgsl-analyzer upgrades (#195)
* Prepare for wgsl-analyzer upgrades

* Fix the exponentials
2022-10-27 10:48:34 -07:00
Daniel McNab afa706bd7e
Use 'C style' preprocessing in piet-wgsl (#194)
This lets us use https://github.com/wgsl-analyzer/wgsl-analyzer for writing the wgsl files.
The imports (for wgsl-analyzer) have to be machine specific at the moment - to use this you need to configure .vscode/settings.json yourself. The alternative is to point them at static files on GitHub, which is tempting to make things easier, but would potentially go out of sync with what is actually used.
2022-10-27 15:27:46 +01:00
Raph Levien 911dee23cd Address review feedback
Cleans up some of the immediate issue, but still hacky and has a bunch
of stuff hard-coded.
2022-10-25 09:03:13 -07:00
Raph Levien b6c4963d4c Initial commit of piet-wgsl
Starting an experimental port to WGSL shader language, using wgpu to run the examples. As of this commit, it's quite hacky and takes some shortcuts, but does render paths to a grayscale texture.
2022-10-24 15:08:14 -07:00