X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FGameDraw.cpp;h=3e076067f232acdf3e68ed03e0bc61688ffb0e3a;hb=95f9e53a3672d79b13521d18d744a0c872fdeb6e;hp=ba527aaa8098bf72bceb93b5158197d909375a4a;hpb=3f518d0f8cf5f083bc17732e7b8627cec3639940;p=lugaru.git diff --git a/Source/GameDraw.cpp b/Source/GameDraw.cpp index ba527aa..3e07606 100644 --- a/Source/GameDraw.cpp +++ b/Source/GameDraw.cpp @@ -232,18 +232,14 @@ int Game::DrawGLScene(StereoSide side) if ( stereomode == stereoAnaglyph ) { switch(side) { - case stereoLeft: glColorMask( 1.0, 0.0, 0.0, 1.0 ); break; - case stereoRight: glColorMask( 0.0, 1.0, 1.0, 1.0 ); break; + case stereoLeft: glColorMask( 0.0, 1.0, 1.0, 1.0 ); break; + case stereoRight: glColorMask( 1.0, 0.0, 0.0, 1.0 ); break; } } else { glColorMask( 1.0, 1.0, 1.0, 1.0 ); if ( stereomode == stereoHorizontalInterlaced || stereomode == stereoVerticalInterlaced ) { - if (!stereoreverse) { - glStencilFunc(side == stereoLeft ? GL_NOTEQUAL : GL_EQUAL, 0x01, 0x01); - } else { - glStencilFunc(side == stereoLeft ? GL_EQUAL : GL_NOTEQUAL, 0x01, 0x01); - } + glStencilFunc(side == stereoLeft ? GL_NOTEQUAL : GL_EQUAL, 0x01, 0x01); } } @@ -362,7 +358,9 @@ int Game::DrawGLScene(StereoSide side) glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); glLoadIdentity (); - glTranslatef((stereoseparation/2) * side, 0, 0); + // Move the camera for the current eye's point of view. + // Reverse the movement if we're reversing stereo + glTranslatef((stereoseparation/2) * side * (stereoreverse ? -1 : 1), 0, 0); if(!cameramode&&!freeze&&!winfreeze){ glRotatef(float(Random()%100)/10*camerashake/*+(woozy*woozy)/10*/,0,0,1);