Index: gloss.c =================================================================== RCS file: /cvsroot/mesa3d/Mesa/demos/gloss.c,v retrieving revision 1.3 diff -u -r1.3 gloss.c --- gloss.c 1999/10/26 17:08:31 1.3 +++ gloss.c 2000/08/10 21:17:10 @@ -55,9 +55,9 @@ static GLint T0 = 0; static GLint Frames = 0; +static GLint stereo = 0; - static void Idle( void ) { if (Animate) { @@ -70,6 +70,23 @@ static void Display( void ) { + static GLint left=0; + + if (stereo) { + left = 1 - left; + if (left) { + glMatrixMode( GL_MODELVIEW ); + glLoadIdentity(); + glTranslatef( 2, 0.0, -380.0 ); + glDrawBuffer( GL_BACK_LEFT ); + }else{ + glMatrixMode( GL_MODELVIEW ); + glLoadIdentity(); + glTranslatef( -2, 0.0, -380.0 ); + glDrawBuffer( GL_BACK_RIGHT ); + } + } + glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); glPushMatrix(); @@ -226,6 +243,7 @@ static void Init( int argc, char *argv[] ) { + int i; /* Cylinder object */ { static GLfloat height = 100.0; @@ -335,22 +353,36 @@ glEnable(GL_DEPTH_TEST); glEnable(GL_NORMALIZE); - if (argc > 1 && strcmp(argv[1], "-info")==0) { - printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER)); - printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION)); - printf("GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR)); - printf("GL_EXTENSIONS = %s\n", (char *) glGetString(GL_EXTENSIONS)); + for (i = 1; i < argc; i++) { + if (!strcmp(argv[i], "-info")) { + printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER)); + printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION)); + printf("GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR)); + printf("GL_EXTENSIONS = %s\n", (char *) glGetString(GL_EXTENSIONS)); + return; + } } } int main( int argc, char *argv[] ) { + int i; glutInit( &argc, argv ); glutInitWindowSize( 500, 500 ); + - glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH ); + for (i = 1; i < argc; i++) { + if (!strcmp(argv[i], "-stereo")) { + stereo = 1; + } + } + if (stereo) + glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH | GLUT_STEREO); + else + glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH); + glutCreateWindow(argv[0] ); Init(argc, argv);