summaryrefslogtreecommitdiff
path: root/assets/final
diff options
context:
space:
mode:
Diffstat (limited to 'assets/final')
-rw-r--r--assets/final/demo_assets.txt3
-rw-r--r--assets/final/shaders/masked_cube.wgsl9
2 files changed, 7 insertions, 5 deletions
diff --git a/assets/final/demo_assets.txt b/assets/final/demo_assets.txt
index bf39c5d..05eee17 100644
--- a/assets/final/demo_assets.txt
+++ b/assets/final/demo_assets.txt
@@ -52,3 +52,6 @@ SHADER_MESH, NONE, shaders/mesh_render.wgsl, "Mesh Rasterization Shader"
MESH_CUBE, NONE, test_mesh.obj, "A simple cube mesh"
DODECAHEDRON, NONE, dodecahedron.obj, "A dodecahedron mesh"
SHADER_VIGNETTE, NONE, shaders/vignette.wgsl, "Vignette Shader"
+CIRCLE_MASK_COMPUTE_SHADER, NONE, shaders/circle_mask_compute.wgsl, "Circle mask compute shader"
+CIRCLE_MASK_RENDER_SHADER, NONE, shaders/circle_mask_render.wgsl, "Circle mask render shader"
+MASKED_CUBE_SHADER, NONE, shaders/masked_cube.wgsl, "Masked cube shader"
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;