Implement transform colors

This commit is contained in:
2026-07-03 11:30:40 -04:00
committed by bspeice
parent 4005e14ab0
commit 4e508884ae
6 changed files with 152 additions and 20 deletions
+4 -3
View File
@@ -93,18 +93,19 @@ impl Camera {
/// Shader entry point for running the camera transformation over a list of IFS coordinates
pub mod entry {
use crate::camera::Camera;
use spirv_std::glam::{IVec2, Vec2};
use glam::{Vec4, Vec4Swizzles};
use spirv_std::glam::IVec2;
use spirv_std::spirv;
/// Transform IFS coordinates to pixel coordinates
#[spirv(compute(entry_point_name = "main_camera", threads(1)))]
pub fn main_camera(
#[spirv(storage_buffer, descriptor_set = 0, binding = 0)] camera: &Camera,
#[spirv(storage_buffer, descriptor_set = 0, binding = 1)] coordinates_ifs: &[Vec2],
#[spirv(storage_buffer, descriptor_set = 0, binding = 1)] coordinates_ifs: &[Vec4],
#[spirv(storage_buffer, descriptor_set = 1, binding = 0)] coordinates_pixel: &mut [IVec2],
) {
for i in 0..coordinates_ifs.len() {
coordinates_pixel[i] = camera.transform_point(coordinates_ifs[i])
coordinates_pixel[i] = camera.transform_point(coordinates_ifs[i].xy())
}
}
}