X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FStereo.cpp;h=6680c43c8acac9d53b32f8d3939d0441f3ff5b1e;hb=1aef858f5ecb3dc8fd816e0155635371ed3632f2;hp=815e177952f27ac8fcbe20baed3d66ec8f25bd44;hpb=8aea302e15fb002424dc0fd0d3746f83a48f671e;p=lugaru.git diff --git a/Source/Stereo.cpp b/Source/Stereo.cpp index 815e177..6680c43 100644 --- a/Source/Stereo.cpp +++ b/Source/Stereo.cpp @@ -25,7 +25,8 @@ bool CanInitStereo(StereoMode mode) { } else { fprintf(stderr, "Stencil buffer has %i bits, good.\n", stencilbits); } - + return true; + break; default: return false; } @@ -35,52 +36,84 @@ bool CanInitStereo(StereoMode mode) { void InitStereo(StereoMode mode) { switch(mode) { case stereoNone: + glDisable( GL_STENCIL_TEST); return; case stereoAnaglyph: + glDisable( GL_STENCIL_TEST); return; case stereoHorizontalInterlaced: case stereoVerticalInterlaced: fprintf(stderr, "Screen width is %i, height is %i\n", kContextWidth, kContextHeight); + // Setup stencil buffer + glDisable( GL_DEPTH_TEST); + glDisable(GL_CULL_FACE); + glDisable(GL_LIGHTING); + glDisable(GL_TEXTURE_2D); + glEnable( GL_STENCIL_TEST); glClearStencil(0); glClear( GL_STENCIL_BUFFER_BIT ); glStencilFunc(GL_ALWAYS, 0x1, 0x1); glStencilOp(GL_REPLACE, GL_REPLACE, GL_REPLACE); - - glPixelStorei(GL_UNPACK_ALIGNMENT, 1); - glPixelStorei(GL_UNPACK_ROW_LENGTH, 3); - glPixelStorei(GL_UNPACK_SKIP_ROWS, 0); - glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0); - glColorMask( 1.0, 1.0, 1.0, 1.0 ); - char stencil[] = {64,127,255}; - + // Setup viewport glViewport(0,0, kContextWidth, kContextHeight); glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - glOrtho((GLdouble)0, (GLdouble)kContextWidth, (GLdouble)kContextHeight, 0, -1, 1); - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); - - for(int y=0;y