press 'f' to toggle front-face winding

This commit is contained in:
Brian 2007-07-13 14:25:28 -06:00
parent dc313b5783
commit a2e471e05e
1 changed files with 10 additions and 4 deletions

View File

@ -29,6 +29,7 @@
static GLenum doubleBuffer; static GLenum doubleBuffer;
static GLint cullmode = 0; static GLint cullmode = 0;
static GLenum front = GL_CCW; /* GL default */
static void cull(void) static void cull(void)
{ {
@ -76,11 +77,16 @@ static void Reshape(int width, int height)
static void Key(unsigned char key, int x, int y) static void Key(unsigned char key, int x, int y)
{ {
switch (key) { switch (key) {
case 27: case 27:
exit(1); exit(1);
case 'c': case 'c':
cull(); cull();
break; break;
case 'f':
front = ((front == GL_CCW) ? GL_CW : GL_CCW);
glFrontFace(front);
printf("front face = %s\n", front == GL_CCW ? "GL_CCW" : "GL_CW");
break;
default: default:
return; return;
} }
@ -92,7 +98,7 @@ static void Draw(void)
glClear(GL_COLOR_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES); glBegin(GL_TRIANGLES);
/* back-facing */ /* CCW / front-facing */
glColor3f(0,0,.7); glColor3f(0,0,.7);
glVertex3f(-0.1, -0.9, -30.0); glVertex3f(-0.1, -0.9, -30.0);
glColor3f(.8,0,0); glColor3f(.8,0,0);
@ -100,7 +106,7 @@ static void Draw(void)
glColor3f(0,.9,0); glColor3f(0,.9,0);
glVertex3f(-0.9, 0.0, -30.0); glVertex3f(-0.9, 0.0, -30.0);
/* front-facing */ /* CW / back-facing */
glColor3f(0,0,.7); glColor3f(0,0,.7);
glVertex3f( 0.1, -0.9, -30.0); glVertex3f( 0.1, -0.9, -30.0);
glColor3f(.8,0,0); glColor3f(.8,0,0);