diff --git a/src/Viewer/CameraGroup.cxx b/src/Viewer/CameraGroup.cxx index 2d88a3616..ed0d16fa7 100644 --- a/src/Viewer/CameraGroup.cxx +++ b/src/Viewer/CameraGroup.cxx @@ -34,6 +34,7 @@ #include #include #include +#include #include #include @@ -256,9 +257,14 @@ void CameraGroup::update(const osg::Vec3d& position, proj_matrix = masterProj * info->projOffset; } + osg::Matrix new_proj_matrix = proj_matrix; + if ((info->flags & CameraInfo::FIXED_NEAR_FAR) == 0) { + makeNewProjMat(proj_matrix, _zNear, _zFar, new_proj_matrix); + } + info->viewMatrix = view_matrix; - info->projMatrix = proj_matrix; - info->compositor->update(view_matrix, proj_matrix); + info->projMatrix = new_proj_matrix; + info->compositor->update(view_matrix, new_proj_matrix); } }