diff options
Diffstat (limited to 'workspaces/main/shaders/sdf_test.wgsl')
| -rw-r--r-- | workspaces/main/shaders/sdf_test.wgsl | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/workspaces/main/shaders/sdf_test.wgsl b/workspaces/main/shaders/sdf_test.wgsl index 3c97613..3b63fef 100644 --- a/workspaces/main/shaders/sdf_test.wgsl +++ b/workspaces/main/shaders/sdf_test.wgsl @@ -10,27 +10,27 @@ @group(0) @binding(1) var<uniform> camera: CameraParams; // Scene distance function -fn df(p: vec3<f32>) -> f32 { +fn df(p: vec3f) -> f32 { // Animated sphere - let sphere_pos = vec3<f32>(sin(uniforms.beat_time * 0.5) * 2.0, 0.0, 0.0); + let sphere_pos = vec3f(sin(uniforms.beat_time * 0.5) * 2.0, 0.0, 0.0); let d_sphere = sdSphere(p - sphere_pos, 1.0); // Static box - let box_pos = vec3<f32>(0.0, -2.0, 0.0); - let d_box = sdBox(p - box_pos, vec3<f32>(3.0, 0.5, 3.0)); + let box_pos = vec3f(0.0, -2.0, 0.0); + let d_box = sdBox(p - box_pos, vec3f(3.0, 0.5, 3.0)); return min(d_sphere, d_box); } // Simple lighting -fn shade(pos: vec3<f32>, rd: vec3<f32>) -> vec3<f32> { +fn shade(pos: vec3f, rd: vec3f) -> vec3f { let n = normal(pos); - let light_dir = normalize(vec3<f32>(1.0, 1.0, -1.0)); + let light_dir = normalize(vec3f(1.0, 1.0, -1.0)); let diff = max(dot(n, light_dir), 0.0); let amb = 0.2; // Color based on position - let col = mix(vec3<f32>(0.2, 0.6, 0.9), vec3<f32>(0.9, 0.3, 0.2), + let col = mix(vec3f(0.2, 0.6, 0.9), vec3f(0.9, 0.3, 0.2), smoothstep(-2.0, 2.0, pos.x)); return col * (diff + amb); @@ -56,7 +56,7 @@ fn fs_main(@builtin(position) pos: vec4<f32>) -> @location(0) vec4<f32> { let t = rayMarch(ray.origin, ray.direction, 0.0); // Background color - var col = vec3<f32>(0.1, 0.1, 0.15); + var col = vec3f(0.1, 0.1, 0.15); // Shade hit point if (t < MAX_RAY_LENGTH) { |
