From 693a66aea94c9a043e9c056395cd4f6c29bee9e7 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 30 Mar 2006 14:24:58 +0000 Subject: press '0' for glDrawBuffer(GL_NONE) --- progs/demos/reflect.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) (limited to 'progs/demos') diff --git a/progs/demos/reflect.c b/progs/demos/reflect.c index ce0239211f..0bec0663bc 100644 --- a/progs/demos/reflect.c +++ b/progs/demos/reflect.c @@ -302,11 +302,21 @@ DrawWindow(void) GLfloat dist = 20.0; GLfloat eyex, eyey, eyez; - glDrawBuffer(w->drawBuffer); - glReadBuffer(w->drawBuffer); + if (w->drawBuffer == GL_NONE) { + glDrawBuffer(GL_BACK); + glReadBuffer(GL_BACK); + } + else { + glDrawBuffer(w->drawBuffer); + glReadBuffer(w->drawBuffer); + } glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); + if (w->drawBuffer == GL_NONE) { + glDrawBuffer(GL_NONE); + } + eyex = dist * cos(w->yrot * DEG2RAD) * cos(w->xrot * DEG2RAD); eyez = dist * sin(w->yrot * DEG2RAD) * cos(w->xrot * DEG2RAD); eyey = dist * sin(w->xrot * DEG2RAD); @@ -376,10 +386,10 @@ DrawWindow(void) ShowAlphaBuffer(w->width, w->height); } - if (w->drawBuffer == GL_BACK) - glutSwapBuffers(); - else + if (w->drawBuffer == GL_FRONT) glFinish(); + else + glutSwapBuffers(); /* calc/show frame rate */ { @@ -460,6 +470,10 @@ Key(unsigned char key, int x, int y) w->drawBuffer = GL_FRONT; glutPostRedisplay(); break; + case '0': + w->drawBuffer = GL_NONE; + glutPostRedisplay(); + break; case ' ': w->anim = !w->anim; w->t0 = -1; -- cgit v1.2.3