diff --git a/src/OpenGl/OpenGl_View_Raytrace.cxx b/src/OpenGl/OpenGl_View_Raytrace.cxx index 6c4b1979f0..653e2c263c 100644 --- a/src/OpenGl/OpenGl_View_Raytrace.cxx +++ b/src/OpenGl/OpenGl_View_Raytrace.cxx @@ -1722,17 +1722,13 @@ void OpenGl_View::updateCamera (const OpenGl_Mat4& theOrientation, aDirect = aDirect - aOrigin; - GLdouble aInvLen = 1.0 / sqrt (aDirect.x() * aDirect.x() + - aDirect.y() * aDirect.y() + - aDirect.z() * aDirect.z()); - theOrigins[aOriginIndex++] = OpenGl_Vec3 (static_cast (aOrigin.x()), static_cast (aOrigin.y()), static_cast (aOrigin.z())); - theDirects[aDirectIndex++] = OpenGl_Vec3 (static_cast (aDirect.x() * aInvLen), - static_cast (aDirect.y() * aInvLen), - static_cast (aDirect.z() * aInvLen)); + theDirects[aDirectIndex++] = OpenGl_Vec3 (static_cast (aDirect.x()), + static_cast (aDirect.y()), + static_cast (aDirect.z())); } } } diff --git a/src/OpenGl/OpenGl_View_Redraw.cxx b/src/OpenGl/OpenGl_View_Redraw.cxx index 31ea1d6e9d..b1c38324d7 100644 --- a/src/OpenGl/OpenGl_View_Redraw.cxx +++ b/src/OpenGl/OpenGl_View_Redraw.cxx @@ -385,7 +385,7 @@ void OpenGl_View::Redraw() #if !defined(GL_ES_VERSION_2_0) aCtx->SetReadDrawBuffer (aStereoMode == Graphic3d_StereoMode_QuadBuffer ? GL_BACK_LEFT : GL_BACK); #endif - if (!redrawImmediate (aProjectType, aMainFbos[0], anImmFbos[0])) + if (!redrawImmediate (Graphic3d_Camera::Projection_MonoLeftEye, aMainFbos[0], anImmFbos[0])) { toSwap = false; } @@ -400,7 +400,7 @@ void OpenGl_View::Redraw() redraw (Graphic3d_Camera::Projection_MonoRightEye, aMainFbos[1]); myBackBufferRestored = Standard_True; myIsImmediateDrawn = Standard_False; - if (!redrawImmediate (aProjectType, aMainFbos[1], anImmFbos[1])) + if (!redrawImmediate (Graphic3d_Camera::Projection_MonoRightEye, aMainFbos[1], anImmFbos[1])) { toSwap = false; } diff --git a/tests/bugs/vis/bug26676 b/tests/bugs/vis/bug26676 new file mode 100644 index 0000000000..50a8e01442 --- /dev/null +++ b/tests/bugs/vis/bug26676 @@ -0,0 +1,31 @@ +puts "============" +puts "CR26676" +puts "============" +puts "" + +########################################################################################## +# 0026676: Visualization, Ray Tracing - correct rendering if stereo pair +########################################################################################## + +vinit View1 w=400 h=400 +vclear + +box b 1 2 50 +vraytrace 0 +vaxo +vsetdispmode 1 +vdisplay b +vcamera -persp +vfit +vrotate 0 -1.2 0 +vzoom 1.2 + +vstereo -anaglyph redCyan +vcamera -iod +vcamera -iod 0.3 + +vraytrace 1 + +vselect 200 350 + +vdump ${imagedir}/${casename}.png -stereo blend