You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
0.7 defines the minimum near plane distance. This works well for perspective camera, but for orthographic cameras it is totally ignored. In situations where the orthographic camera is moved into the scene bounding box, the near clip value becomes negative, and objects behind the camera remain visible as the camera moves pasat them.
I'm not sure why the code was written this way, but it's clear that this->autoclipvalue is only referenced when camera isOfType SoPerspectiveCamera here:
When you set autoclipping with an strategy like
mySoQtViewer->setAutoClippingStrategy(SoQtViewer::CONSTANT_NEAR_PLANE, 0.7)
0.7 defines the minimum near plane distance. This works well for perspective camera, but for orthographic cameras it is totally ignored. In situations where the orthographic camera is moved into the scene bounding box, the near clip value becomes negative, and objects behind the camera remain visible as the camera moves pasat them.
I'm not sure why the code was written this way, but it's clear that this->autoclipvalue is only referenced when camera isOfType SoPerspectiveCamera here:
https://github.com/coin3d/sogui/blob/243e78abedaa88a22babc3357e9dfca1b75a2a95/viewers/SoGuiViewer.cpp.in#L860-L898
It's also notable that the code handles the "all objects behind camera" case for perspective cameras but not orthographic cameras.
It's almost like someone felt that orthographic cameras should be able to see behind them? Is there any reason for that?
I might be interested in submitting a PR to fix this if there is agreement.
The text was updated successfully, but these errors were encountered: