GLvoid display(GLvoid) { glDrawBuffer(GL_BACK); //draw into both back buffers glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //clear color and depth buffers
glDrawBuffer(GL_BACK_LEFT); //draw into back left buffer glMatrixMode(GL_MODELVIEW); glLoadIdentity(); //reset modelview matrix gluLookAt(-IOD/2, //set camera position x=-IOD/2 0.0, // y=0.0 0.0, // z=0.0 0.0, //set camera "look at" x=0.0 0.0, // y=0.0 screenZ, // z=screenplane 0.0, //set camera up vector x=0.0 1.0, // y=1.0 0.0); // z=0.0 glPushMatrix(); { glTranslatef(0.0, 0.0, depthZ); //translate to screenplane drawscene(); } glPopMatrix();
glDrawBuffer(GL_BACK_RIGHT); //draw into back right buffer glMatrixMode(GL_MODELVIEW); glLoadIdentity(); //reset modelview matrix gluLookAt(IOD/2, 0.0, 0.0, 0.0, 0.0, screenZ, //as for left buffer with camera position at: 0.0, 1.0, 0.0); // (IOD/2, 0.0, 0.0)
glPushMatrix(); { glTranslatef(0.0, 0.0, depthZ); //translate to screenplane drawscene(); } glPopMatrix(); glutSwapBuffers(); } |