From 8375885a403493495d8eaa5198438c8948bc4ecd Mon Sep 17 00:00:00 2001
From: zomseffen <steffen@tom.bi>
Date: Wed, 28 May 2025 15:04:58 +0200
Subject: [PATCH] volumetric in quad fragf finished for now.

---
 shaders/compiled/frag_rt_quad.spv | Bin 76768 -> 74304 bytes
 shaders/rt_quad.frag              |  88 +++++++++++++++++-------------
 src/scene/generators.rs           |   6 +-
 3 files changed, 52 insertions(+), 42 deletions(-)

diff --git a/shaders/compiled/frag_rt_quad.spv b/shaders/compiled/frag_rt_quad.spv
index a738849b8da732710694744fb2f76179284f1f06..ff99d3f5c66a518a3a53221f0ae536d218268665 100644
GIT binary patch
literal 74304
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

literal 76768
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

diff --git a/shaders/rt_quad.frag b/shaders/rt_quad.frag
index d43de76..c59b4e4 100644
--- a/shaders/rt_quad.frag
+++ b/shaders/rt_quad.frag
@@ -337,6 +337,9 @@ Tracing trace_ray(uint volume_start, vec3 starting_pos, vec3 start_direction, fl
             float y_border = compound_pos.y + float((compound_grid_size) * uint(!y_pos)) * compound_scale;
             float z_border = compound_pos.z + float((compound_grid_size) * uint(!z_pos)) * compound_scale;
 
+            // go over the borders by this amount
+            float overstep = 0.00001 / length(direction);
+
             if (!x_null) {
                 x_factor = (x_border - pos.x) / direction.x;
             } else {
@@ -352,6 +355,9 @@ Tracing trace_ray(uint volume_start, vec3 starting_pos, vec3 start_direction, fl
             } else {
                 z_factor = max_factor;
             }
+            x_factor += overstep;
+            y_factor += overstep;
+            z_factor += overstep;
 
             vec3 intersection_pos = pos;
             bool is_x_hit = false;
@@ -361,14 +367,14 @@ Tracing trace_ray(uint volume_start, vec3 starting_pos, vec3 start_direction, fl
             if ((compound_pos.x <= intersection_pos.x && intersection_pos.x <= compound_pos.x + float(compound_grid_size) * compound_scale) && 
                 (compound_pos.y <= intersection_pos.y && intersection_pos.y <= compound_pos.y + float(compound_grid_size) * compound_scale) && 
                 (compound_pos.z <= intersection_pos.z && intersection_pos.z <= compound_pos.z + float(compound_grid_size) * compound_scale)){
-                hit_inside = true;
+                //hit_inside = true;
             } else {
                 vec3 intersection_pos_x = pos + x_factor * direction;
                 vec3 intersection_pos_y = pos + y_factor * direction;
                 vec3 intersection_pos_z = pos + z_factor * direction;
                 if ((compound_pos.x <= intersection_pos_x.x && intersection_pos_x.x <= compound_pos.x + float(compound_grid_size) * compound_scale) && 
                     (compound_pos.y <= intersection_pos_x.y && intersection_pos_x.y <= compound_pos.y + float(compound_grid_size) * compound_scale) && 
-                    (compound_pos.z <= intersection_pos_x.z && intersection_pos_x.z <= compound_pos.z + float(compound_grid_size) * compound_scale) && x_factor > 0.0) {
+                    (compound_pos.z <= intersection_pos_x.z && intersection_pos_x.z <= compound_pos.z + float(compound_grid_size) * compound_scale) && x_factor > 0.0 && x_factor <= max_factor) {
                     hit_inside = true;
                     is_x_hit = true;
                     intersection_pos = intersection_pos_x;
@@ -376,7 +382,7 @@ Tracing trace_ray(uint volume_start, vec3 starting_pos, vec3 start_direction, fl
                     
                 if ((compound_pos.x <= intersection_pos_y.x && intersection_pos_y.x <= compound_pos.x + float(compound_grid_size) * compound_scale) && 
                     (compound_pos.y <= intersection_pos_y.y && intersection_pos_y.y <= compound_pos.y + float(compound_grid_size) * compound_scale) && 
-                    (compound_pos.z <= intersection_pos_y.z && intersection_pos_y.z <= compound_pos.z + float(compound_grid_size) * compound_scale) && y_factor > 0.0 && (y_factor < x_factor || !is_x_hit)) {
+                    (compound_pos.z <= intersection_pos_y.z && intersection_pos_y.z <= compound_pos.z + float(compound_grid_size) * compound_scale) && y_factor > 0.0 && y_factor <= max_factor && (y_factor < x_factor || !is_x_hit)) {
                     hit_inside = true;
                     is_y_hit = true;
                     intersection_pos = intersection_pos_y;
@@ -384,7 +390,7 @@ Tracing trace_ray(uint volume_start, vec3 starting_pos, vec3 start_direction, fl
                         
                 if ((compound_pos.x <= intersection_pos_z.x && intersection_pos_z.x <= compound_pos.x + float(compound_grid_size) * compound_scale) && 
                     (compound_pos.y <= intersection_pos_z.y && intersection_pos_z.y <= compound_pos.y + float(compound_grid_size) * compound_scale) && 
-                    (compound_pos.z <= intersection_pos_z.z && intersection_pos_z.z <= compound_pos.z + float(compound_grid_size) * compound_scale) && z_factor > 0.0 && (z_factor < x_factor || !is_x_hit) && (z_factor < y_factor || !is_y_hit)) {
+                    (compound_pos.z <= intersection_pos_z.z && intersection_pos_z.z <= compound_pos.z + float(compound_grid_size) * compound_scale) && z_factor > 0.0 && z_factor <= max_factor && (z_factor < x_factor || !is_x_hit) && (z_factor < y_factor || !is_y_hit)) {
                     hit_inside = true;
                     is_z_hit = true;
                     intersection_pos = intersection_pos_z;
@@ -400,6 +406,7 @@ Tracing trace_ray(uint volume_start, vec3 starting_pos, vec3 start_direction, fl
                 uint oct_tree_address = oct_tree_index;
                 // iterate through the oct_tree
                 uint check_it = 0;
+                uint max_check_it = 60;
                 uint prev_child = 0;
                 uint prev_prev_child = 0;
 
@@ -407,7 +414,7 @@ Tracing trace_ray(uint volume_start, vec3 starting_pos, vec3 start_direction, fl
                 uvec3 parent_pos = uvec3(0, 0, 0);
 
                 bool has_moved = false;
-                while (!result.has_hit && check_it < 60) {
+                while (!result.has_hit && check_it < max_check_it) {
                     // failsafe to get out in case has_moved runs into an accuracy issue
                     check_it ++;
                     oct_tree_pos = vec3(grid_pos) * compound_scale + compound_pos;
@@ -428,11 +435,6 @@ Tracing trace_ray(uint volume_start, vec3 starting_pos, vec3 start_direction, fl
                         child_index = 1 * uint(oct_tree_address == oct_tree_mem[parent_index + 1]) + 2 * uint(oct_tree_address == oct_tree_mem[parent_index + 2]) + 3 * uint(oct_tree_address == oct_tree_mem[parent_index + 3]) + 4 * uint(oct_tree_address == oct_tree_mem[parent_index + 4]) + 5 * uint(oct_tree_address == oct_tree_mem[parent_index + 5]) + 6 * uint(oct_tree_address == oct_tree_mem[parent_index + 6]) + 7 * uint(oct_tree_address == oct_tree_mem[parent_index + 7]) + 8 * uint(oct_tree_address == oct_tree_mem[parent_index + 8]);
                         // mark as done to avoid reinvestigating, since intersection_pos is on its edge                        
                         children_open[child_index - 1] = false;
-                        if (!has_moved) {
-                            for (int i=0; i < child_index; i++) {
-                                children_open[i] = false;
-                            }
-                        }
                         prev_prev_child = prev_child;
                         prev_child = oct_tree_address;
 
@@ -440,15 +442,13 @@ Tracing trace_ray(uint volume_start, vec3 starting_pos, vec3 start_direction, fl
                         grid_pos -= parent_child_vec(current_size, child_index);
                         current_size *= 2;
                         oct_tree_address = parent_index;
-                        // todo remove once parent is implemented
-                        //break;
                     } else {
                         // go down into child
                         if (current_size == 2) {
                             // check block if hit break
                             if (oct_tree_mem[oct_tree_address + child_index] != 0) {
                                 result.has_hit = true;
-                                result.end_color = uvec4(255, 0, 0, 32);
+                                result.end_color = unpack_color(oct_tree_mem[oct_tree_address + child_index]);
                                 break;
                             }                            
                         } else {
@@ -477,43 +477,57 @@ Tracing trace_ray(uint volume_start, vec3 starting_pos, vec3 start_direction, fl
 
                         if (!x_null) {
                             x_factor = (x_border - pos.x) / direction.x;
+                            if (x_factor <= 0.0) {
+                                x_factor = max_factor;
+                            }
                         } else {
                             x_factor = max_factor;
                         }
                         if (!y_null) {
                             y_factor = (y_border - pos.y) / direction.y;
+                            if (y_factor <= 0.0) {
+                                y_factor = max_factor;
+                            }
                         } else {
                             y_factor = max_factor;
                         }
                         if (!z_null) {
                             z_factor = (z_border - pos.z) / direction.z;
+                            if (z_factor <= 0.0) {
+                                z_factor = max_factor;
+                            }
                         } else {
                             z_factor = max_factor;
                         }
                         float smallest_factor = min(min(x_factor, y_factor), z_factor);
 
-                        has_moved = length(intersection_pos - (pos + smallest_factor * direction)) > 0.00001;
-                        //has_moved = intersection_pos != (pos + smallest_factor * direction);
+                        if (x_factor == smallest_factor) {
+                            is_x_hit = true;
+                            is_y_hit = false;
+                            is_z_hit = false;
+                        }
+                        if (y_factor == smallest_factor) {
+                            is_x_hit = false;
+                            is_y_hit = true;
+                            is_z_hit = false;
+                        }
+                        if (z_factor == smallest_factor) {
+                            is_x_hit = false;
+                            is_y_hit = false;
+                            is_z_hit = true;
+                        }
+
+                        // move a bit further to fully enter the next quadrant 
+                        smallest_factor += overstep;
+
+                        //has_moved = length(intersection_pos - (pos + smallest_factor * direction)) >= 0.00001;
+                        has_moved = intersection_pos != (pos + smallest_factor * direction);
                         intersection_pos = pos + smallest_factor * direction;
                     }
                 }
 
                 uint hit_facing = uint(is_x_hit) * (2 + uint(x_pos)) + uint(is_y_hit) * (4 + uint(y_pos)) + uint(is_z_hit && !z_pos);
                 //result.has_hit = true;
-                if (!has_moved) {
-                    //result.has_hit = true;
-                }
-                if (!((compound_pos.x <= intersection_pos.x && intersection_pos.x <= compound_pos.x + float(compound_grid_size) * compound_scale) && 
-                    (compound_pos.y <= intersection_pos.y && intersection_pos.y <= compound_pos.y + float(compound_grid_size) * compound_scale) && 
-                    (compound_pos.z <= intersection_pos.z && intersection_pos.z <= compound_pos.z + float(compound_grid_size) * compound_scale))) {
-                    //result.has_hit = true;
-                }
-
-                if (!((compound_pos.x <= oct_tree_pos.x && oct_tree_pos.x <= compound_pos.x + float(compound_grid_size) * compound_scale) && 
-                    (compound_pos.y <= oct_tree_pos.y && oct_tree_pos.y <= compound_pos.y + float(compound_grid_size) * compound_scale) && 
-                    (compound_pos.z <= oct_tree_pos.z && oct_tree_pos.z <= compound_pos.z + float(compound_grid_size) * compound_scale))) {
-                    //result.has_hit = true;
-                }
                 result.end_pos = intersection_pos;
                 result.end_facing = hit_facing;
                 result.end_volume = volume_index;
@@ -711,8 +725,7 @@ vec3 get_lighting_color(uint volume_start, vec3 starting_pos, vec4 orig_color_sa
     return color_sum;
 }
 
-vec3 diffuse_tracing(uint volume_start, uvec2 raster_pos, vec3 pos, uint f) {
-    uvec4 color_roughness = sample_color_from_scene_info(volume_start, raster_pos, f);
+vec3 diffuse_tracing(uint volume_start, uvec4 color_roughness, vec3 pos, uint f) {
     vec4 orig_color_sample = vec4(float(color_roughness.x) / 255.0, float(color_roughness.y) / 255.0, float(color_roughness.z) / 255.0, 1);
     vec3 normal = normal_for_facing(f);
 
@@ -733,10 +746,6 @@ vec3 diffuse_tracing(uint volume_start, uvec2 raster_pos, vec3 pos, uint f) {
     return color_sum;
 }
 
-vec3 diffuse_tracing(uint volume_start, vec2 raster_pos, vec3 pos, uint f) {
-    return diffuse_tracing(volume_start, uvec2(uint(floor(raster_pos.x)), uint(floor(raster_pos.y))), pos, f);
-}
-
 vec3 clamp_to_volume(uint volume_start, vec3 position) {
     float volume_pos_x = uintBitsToFloat(scene_info.infos[volume_start + 0]); 
     float volume_pos_y = uintBitsToFloat(scene_info.infos[volume_start + 1]); 
@@ -766,7 +775,7 @@ vec3 add_reflection(vec3 view_vector, uint f, uint volume_start, vec3 pos, uvec4
         vec3 reflection_direction = reflect_vector(view_vector, f);
         Tracing reflection_tracing = trace_ray(volume_start, pos, reflection_direction, pos_infinity, true);
         if (reflection_tracing.has_hit || reflection_tracing.has_transparent_hit) {
-            vec3 color_from_reflection = diffuse_tracing(reflection_tracing.end_volume, reflection_tracing.end_raster, reflection_tracing.end_pos, reflection_tracing.end_facing) * orig_color_sample;
+            vec3 color_from_reflection = diffuse_tracing(reflection_tracing.end_volume, reflection_tracing.end_color, reflection_tracing.end_pos, reflection_tracing.end_facing) * orig_color_sample;
             color_sum = color_sum * (1.0 - reflectivity) + color_from_reflection * reflectivity;
         }
     }
@@ -783,14 +792,15 @@ void main() {
 
     uint orig_neighbor = sample_neighbor_from_scene_info(fragVolumeStart, clamped_raster_pos, facing);
     if (orig_neighbor != 0) {
-        vec3 color_direct = diffuse_tracing(fragVolumeStart, clamped_raster_pos, clamped_pos, facing);
+        vec3 color_direct = diffuse_tracing(fragVolumeStart, color_roughness, clamped_pos, facing);
 
         Tracing t = trace_ray(fragVolumeStart, ubo.camera_pos, clamped_pos - ubo.camera_pos, pos_infinity, false);
         float opacity = float(color_roughness.w) / 255.0;
         vec3 color_seen_through;
         if (t.has_hit) {
             //color_seen_through = vec3(float(t.end_color.x) / 255.0, float(t.end_color.y) / 255.0, float(t.end_color.z) / 255.0);
-            color_seen_through = diffuse_tracing(t.end_volume, t.end_raster, t.end_pos, t.end_facing) * orig_color_sample * t.color_mul;
+            
+            color_seen_through = diffuse_tracing(t.end_volume, t.end_color, t.end_pos, t.end_facing) * orig_color_sample * t.color_mul;
             color_seen_through = add_reflection(t.end_direction, t.end_facing, t.end_volume, t.end_pos, t.end_color, color_seen_through);
         }
         else {
@@ -804,7 +814,7 @@ void main() {
         //color_sum = color_seen_through;
     }
     else {
-        color_sum = diffuse_tracing(fragVolumeStart, clamped_raster_pos, clamped_pos, facing);
+        color_sum = diffuse_tracing(fragVolumeStart, color_roughness, clamped_pos, facing);
 
         color_sum = add_reflection(normalize(clamped_pos - ubo.camera_pos), facing, fragVolumeStart, clamped_pos, color_roughness, color_sum);
     }
diff --git a/src/scene/generators.rs b/src/scene/generators.rs
index a1a4a89..eca7594 100644
--- a/src/scene/generators.rs
+++ b/src/scene/generators.rs
@@ -94,7 +94,7 @@ pub fn generate_test_scene(scene: &mut Scene, data: &mut AppData) -> Result<(Poi
 
     scene.point_lights.push(Rc::new(RefCell::new(PointLight::init(vec3(11.0 + grid_size as f32, 11.0 + grid_size as f32, 11.0) * scale, vec3(2.0, 2.0, 2.0)))));
     //scene.point_lights.push(Rc::new(RefCell::new(PointLight::init(vec3(9.0 + grid_size as f32, 9.0 + grid_size as f32, 11.0) * scale, vec3(0.5, 0.5, 0.5)))));
-    scene.directional_lights.push(Rc::new(RefCell::new(DirectionalLight::init(vec3(1.0, 1.0, -1.0), vec3(0.1, 0.1, 0.1)))));
+    //scene.directional_lights.push(Rc::new(RefCell::new(DirectionalLight::init(vec3(1.0, 1.0, -1.0), vec3(0.1, 0.1, 0.1)))));
 
     let cube = Cuboid {
         pos: vec3(11.0 + grid_size as f32, 11.0 + grid_size as f32, 11.0) * scale,
@@ -116,8 +116,8 @@ pub fn generate_test_scene(scene: &mut Scene, data: &mut AppData) -> Result<(Poi
 
     let tree_ref_one = Rc::new(RefCell::new(oct_tree1.clone()));
     let tree_ref_two = Rc::new(RefCell::new(oct_tree2.clone()));
-    scene.oct_trees = vec![vec![vec![tree_ref_two.clone(), tree_ref_two.clone(), tree_ref_two.clone()], vec![tree_ref_two.clone(), tree_ref_one.clone(), tree_ref_two.clone()], vec![tree_ref_two.clone(), tree_ref_two.clone(), tree_ref_two.clone()]], vec![vec![tree_ref_two.clone(), tree_ref_two.clone(), tree_ref_two.clone()], vec![tree_ref_two.clone(), tree_ref_one.clone(), tree_ref_two.clone()], vec![tree_ref_two.clone(), tree_ref_two.clone(), tree_ref_two.clone()]]];
-    //scene.oct_trees = vec![vec![vec![tree_ref_two.clone(), tree_ref_two.clone(), tree_ref_two.clone()], vec![tree_ref_two.clone(), tree_ref_one.clone(), tree_ref_two.clone()], vec![tree_ref_two.clone(), tree_ref_two.clone(), tree_ref_two.clone()]]];
+    //scene.oct_trees = vec![vec![vec![tree_ref_two.clone(), tree_ref_two.clone(), tree_ref_two.clone()], vec![tree_ref_two.clone(), tree_ref_one.clone(), tree_ref_two.clone()], vec![tree_ref_two.clone(), tree_ref_two.clone(), tree_ref_two.clone()]], vec![vec![tree_ref_two.clone(), tree_ref_two.clone(), tree_ref_two.clone()], vec![tree_ref_two.clone(), tree_ref_one.clone(), tree_ref_two.clone()], vec![tree_ref_two.clone(), tree_ref_two.clone(), tree_ref_two.clone()]]];
+    scene.oct_trees = vec![vec![vec![tree_ref_two.clone(), tree_ref_two.clone(), tree_ref_two.clone()], vec![tree_ref_two.clone(), tree_ref_one.clone(), tree_ref_two.clone()], vec![tree_ref_two.clone(), tree_ref_two.clone(), tree_ref_two.clone()]]];
 
     let mut comp = ShapeComposition::new(64);
     //comp.included_shapes.push(Rc::new(RefCell::new(Rect::new(Vector3 { x: 5.0 + grid_size as f32, y: 5.0 + grid_size as f32, z: 10.0 }, Vector3 { x: 0.0, y: 0.0, z: 0.0 }, Vector3 { x: 5.0, y: 5.0, z: 5.0 },Vector3 { x: 0, y: 0, z: 255 }, 64, false))));