summaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorClay John <claynjohn@gmail.com>2024-10-24 21:06:56 -0700
committerGitHub <noreply@github.com>2024-10-24 21:06:56 -0700
commit78a4e634f08b8d2e6825695dad45abc11792fa6f (patch)
treef6841d8b41ea2da0eb229650020ef601bf312fce /modules
parente952651f891ec8447aed59ad4e9f33291099cb8e (diff)
parented3f990952c11c742fc4cc412caa7368efef3fa1 (diff)
downloadredot-engine-78a4e634f08b8d2e6825695dad45abc11792fa6f.tar.gz
Merge pull request #98257 from Rudolph-B/94210-B
Fix to occlusion culling where all math is based on Euclidean distance.
Diffstat (limited to 'modules')
-rw-r--r--modules/raycast/raycast_occlusion_cull.cpp12
1 files changed, 1 insertions, 11 deletions
diff --git a/modules/raycast/raycast_occlusion_cull.cpp b/modules/raycast/raycast_occlusion_cull.cpp
index 94d8b267d1..54dc040583 100644
--- a/modules/raycast/raycast_occlusion_cull.cpp
+++ b/modules/raycast/raycast_occlusion_cull.cpp
@@ -181,17 +181,7 @@ void RaycastOcclusionCull::RaycastHZBuffer::sort_rays(const Vector3 &p_camera_di
}
int k = tile_i * TILE_SIZE + tile_j;
int tile_index = i * tile_grid_size.x + j;
- float d = camera_rays[tile_index].ray.tfar[k];
-
- if (!p_orthogonal) {
- const float &dir_x = camera_rays[tile_index].ray.dir_x[k];
- const float &dir_y = camera_rays[tile_index].ray.dir_y[k];
- const float &dir_z = camera_rays[tile_index].ray.dir_z[k];
- float cos_theta = p_camera_dir.x * dir_x + p_camera_dir.y * dir_y + p_camera_dir.z * dir_z;
- d *= cos_theta;
- }
-
- mips[0][y * buffer_size.x + x] = d;
+ mips[0][y * buffer_size.x + x] = camera_rays[tile_index].ray.tfar[k];
}
}
}