Merge topic 'task/2024_07_ray_culling_zclip_bugfix'

7d0c1e66c fix bug with ray subsetting using wrong near and far planes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !3246
This commit is contained in:
Vicente Bolea 2024-07-10 23:44:25 +00:00 committed by Kitware Robot
commit 4ace739e47

@ -830,6 +830,7 @@ void Camera::FindSubset(const vtkm::Bounds& bounds)
transformed[2] = (transformed[2] * 0.5f + 0.5f);
zmin = vtkm::Min(zmin, transformed[2]);
zmax = vtkm::Max(zmax, transformed[2]);
// skip if outside near and far clipping
if (transformed[2] < 0 || transformed[2] > 1)
{
continue;
@ -894,15 +895,10 @@ VTKM_CONT void Camera::UpdateDimensions(Ray<Precision>& rays,
this->CameraView.SetLookAt(this->GetLookAt());
this->CameraView.SetPosition(this->GetPosition());
this->CameraView.SetViewUp(this->GetUp());
//
// Just create come clipping range, we ignore the zmax value in subsetting
//
vtkm::Float64 maxDim = vtkm::Max(
boundingBox.X.Max - boundingBox.X.Min,
vtkm::Max(boundingBox.Y.Max - boundingBox.Y.Min, boundingBox.Z.Max - boundingBox.Z.Min));
maxDim *= 100;
this->CameraView.SetClippingRange(.0001, maxDim);
// Note:
// Use clipping range provided, the subsetting does take into consideration
// the near and far clipping planes.
//Update our ViewProjection matrix
this->ViewProjectionMat =