Merge pull request #103798 from Rudolph-B/new-97712

Switch occlusion culling to be based on depth instead of Euclidean distance
This commit is contained in:
Thaddeus Crews
2025-04-10 10:18:17 -05:00
2 changed files with 5 additions and 6 deletions

View File

@ -173,7 +173,9 @@ 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;
mips[0][y * buffer_size.x + x] = camera_rays[tile_index].ray.tfar[k];
Vector3 ray_dir(camera_rays[tile_index].ray.dir_x[k], camera_rays[tile_index].ray.dir_y[k], camera_rays[tile_index].ray.dir_z[k]);
mips[0][y * buffer_size.x + x] = camera_rays[tile_index].ray.tfar[k] * p_camera_dir.dot(ray_dir); // Store z-depth in view space.
}
}
}