diff options
Diffstat (limited to 'assets/final/shaders')
| -rw-r--r-- | assets/final/shaders/masked_cube.wgsl | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/assets/final/shaders/masked_cube.wgsl b/assets/final/shaders/masked_cube.wgsl index 77e2fb9..5e673a3 100644 --- a/assets/final/shaders/masked_cube.wgsl +++ b/assets/final/shaders/masked_cube.wgsl @@ -7,7 +7,6 @@ @group(0) @binding(1) var<storage, read> object_data: ObjectsBuffer; @group(0) @binding(3) var noise_tex: texture_2d<f32>; @group(0) @binding(4) var noise_sampler: sampler; -@group(0) @binding(5) var sky_tex: texture_2d<f32>; @group(1) @binding(0) var mask_tex: texture_2d<f32>; @group(1) @binding(1) var mask_sampler: sampler; @@ -89,13 +88,13 @@ fn fs_main(in: VertexOutput) -> FragmentOutput { let local_origin = (inv_model * vec4<f32>(ray_origin, 1.0)).xyz; let local_dir = normalize((inv_model * vec4<f32>(ray_dir, 0.0)).xyz); - let t = ray_box(local_origin, local_dir, vec3<f32>(-1.0), vec3<f32>(1.0)); - if (t.y < 0.0) { + let bounds = ray_box_intersection(local_origin, local_dir, vec3<f32>(1.0)); + if (!bounds.hit) { discard; } - let t_start = max(t.x, 0.0); - let t_end = t.y; + let t_start = bounds.t_entry; + let t_end = bounds.t_exit; var t_march = t_start; let max_steps = 128; |
