12 Commits

Author SHA1 Message Date
3f5379843e feat: Re-write accumulator, add camera settings
We can view the IFS-to-image process as a composition of two affine transforms:
- One for the in-IFS functions (zoom, rotate, offset)
- One for the IFS-to-image functions (scale)

And because a composition of affine transforms is itself an affine transform, we can do everything at once.
Eventually, the final affine matrix should be provided to the GPU directly, I just wanted to prove this works for now.
2025-01-12 20:27:56 -05:00
0a1f96edb0 chore: Remove TODO 2025-01-09 10:46:13 -05:00
8ca07019ba feat: Compile to WGSL 2025-01-09 10:33:24 -05:00
82d74ee790 feat: GPU gasket 2025-01-06 19:09:10 -05:00
c03d52d3dc feat: Iterate a transform 2024-12-29 14:31:31 -05:00
0bc36bf3d5 feat: Include coefs in the transform 2024-12-26 14:05:22 -05:00
ff2f7f859d refactor: Cut a crate out of the workflow
Can't put GPU tests in the `-shader` crate because `spirv-builder` doesn't handle recursive invocation, but should migrate the CPU tests there eventually.
2024-12-23 18:30:51 -05:00
0c092a4d82 feat: Pass affine transform coefficients 2024-12-23 12:54:10 -05:00
a05df7276c feat: Tests pass
Turns out, my `unsafe impl` for `bytemuck::Pod` was incorrect, need to review how coefs get passed in
2024-12-22 20:11:31 -05:00
f5f063a198 feat: Tests run (and fail) 2024-12-21 23:16:01 -05:00
eb3bee1437 Stash 2024-12-21 22:09:39 -05:00
d89721cc92 feat: Initial XML support 2024-12-20 00:25:05 -05:00