* Implement skeleton for graphene-cli
* Configure gpu surface on non wasm32 targets
* Create window with full hd size
* Create window using the graphen-cli
* Use window size for surface creation
* Reuse surface configuration
* Reduce window size for native applications to 800x600
* Add compute pipeline test
* Poll wgpu execution externally
* Remove cache node after texture upload
* Add profiling instructions
* Add more debug markers
* Evaluate extract node before flattening the network
* Reenable hue saturation node for compilation
* Make hue saturation node work on the gpu + make f32 default for user inputs
* Add version of test files without caching
* Only dispatch each workgroup not pixel
* ICE
* Add quantization to gpu code
* Fix quantization
* Load images at graph runtime
* Fix quantization calculation
* Feature gate quantization
* Use git version of autoquant
* Add license to `graphene-cli`
* Fix graphene-cli test case
* Ignore tests on non unix platforms
* Fix flattening test
* Migrate Nodes to use RasterMut + Samplable
* Add Pixel trait to include serialization
* Implement traits for Color and propagate new generics
* Always convert to linear color when loading images
* Take the transform of the ImageFrame into account when blending
The implementation computes the axis-aligned bounding box after we transform
the corners of the source image, and then iterates through that box
and computes the inverse of the affine transform of the source image.
The samples are taken based on the u/v coordinates, so that the differences
in size/aspect ratio between the images don't matter.
This makes for a much simpler implementation, and gives us the flexibility
to add different filtering methods in the future, for example.
Signed-off-by: Ică Alexandru-Gabriel <alexandru@seyhanlee.com>
* Name the parameters for the blend node properly
This avoids confusion between which one of the images is the `source`
image and which one is the `destination`.
Signed-off-by: Ică Alexandru-Gabriel <alexandru@seyhanlee.com>
* Remove rendundant computation for u/v coordinates
Signed-off-by: Ică Alexandru-Gabriel <alexandru@seyhanlee.com>
* Rewrite the sampling/clamping logic
* Add image frame transform node
* Move transform node to transform module
* Fix a few issues with our transformation logic
* Fix math + do cleanup
---------
Signed-off-by: Ică Alexandru-Gabriel <alexandru@seyhanlee.com>
Co-authored-by: Dennis Kobert <dennis@kobert.dev>