use polygon offset to avoid multi-pass Z-fighting artifacts
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* $Id: gloss.c,v 1.6 2000/12/24 22:53:54 pesco Exp $ */
|
||||
/* $Id: gloss.c,v 1.7 2002/11/28 15:51:55 brianp Exp $ */
|
||||
|
||||
/*
|
||||
* Specular reflection demo. The specular highlight is modulated by
|
||||
@@ -85,9 +85,9 @@ static void Display( void )
|
||||
glCallList(Object);
|
||||
|
||||
/* Second pass: specular lighting with reflection texture */
|
||||
glEnable(GL_POLYGON_OFFSET_FILL);
|
||||
glBlendFunc(GL_ONE, GL_ONE); /* add */
|
||||
glEnable(GL_BLEND);
|
||||
glDepthFunc(GL_LEQUAL);
|
||||
glMaterialfv(GL_FRONT, GL_DIFFUSE, Black);
|
||||
glMaterialfv(GL_FRONT, GL_SPECULAR, White);
|
||||
if (DoSpecTexture) {
|
||||
@@ -102,6 +102,7 @@ static void Display( void )
|
||||
glDisable(GL_TEXTURE_GEN_S);
|
||||
glDisable(GL_TEXTURE_GEN_T);
|
||||
glDisable(GL_BLEND);
|
||||
glDisable(GL_POLYGON_OFFSET_FILL);
|
||||
|
||||
glPopMatrix();
|
||||
|
||||
@@ -341,6 +342,8 @@ static void Init( int argc, char *argv[] )
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
glEnable(GL_NORMALIZE);
|
||||
|
||||
glPolygonOffset( -1, -1 );
|
||||
|
||||
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));
|
||||
|
Reference in New Issue
Block a user