progs/tests: asst. changes to antialias.c

This commit is contained in:
Brian Paul 2010-04-19 13:56:21 -06:00
parent a2a01853f3
commit 94c07b1320
1 changed files with 32 additions and 39 deletions

View File

@ -30,15 +30,17 @@ PrintString(const char *s)
static void
doPolygon( GLint verts, GLfloat radius, GLfloat z )
doPolygon( GLenum mode, GLint verts, GLfloat radius, GLfloat z )
{
int i;
glBegin(mode);
for (i = 0; i < verts; i++) {
float a = (i * 2.0 * 3.14159) / verts;
float x = radius * cos(a);
float y = radius * sin(a);
glVertex3f(x, y, z);
}
glEnd();
}
@ -47,35 +49,23 @@ DrawObject( void )
{
glLineWidth(3.0);
glColor3f(1, 1, 1);
glBegin(GL_LINE_LOOP);
doPolygon(12, 1.2, 0);
glEnd();
doPolygon(GL_LINE_LOOP, 12, 1.2, 0);
glLineWidth(1.0);
glColor3f(1, 1, 1);
glBegin(GL_LINE_LOOP);
doPolygon(12, 1.1, 0);
glEnd();
doPolygon(GL_LINE_LOOP, 12, 1.1, 0);
glColor3f(1, 0, 0);
glBegin(GL_POLYGON);
doPolygon(12, 0.4, 0.3);
glEnd();
doPolygon(GL_POLYGON, 12, 0.4, 0.3);
glColor3f(0, 1, 0);
glBegin(GL_POLYGON);
doPolygon(12, 0.6, 0.2);
glEnd();
doPolygon(GL_POLYGON, 12, 0.6, 0.2);
glColor3f(0, 0, 1);
glBegin(GL_POLYGON);
doPolygon(12, 0.8, 0.1);
glEnd();
doPolygon(GL_POLYGON, 12, 0.8, 0.1);
glColor3f(1, 1, 1);
glBegin(GL_POLYGON);
doPolygon(12, 1.0, 0);
glEnd();
doPolygon(GL_POLYGON, 12, 1.0, 0);
}
@ -85,43 +75,46 @@ Display( void )
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glColor3f(1, 1, 1);
glRasterPos2f(-3.1, -1.6);
PrintString("No antialiasing");
glRasterPos2f(-0.8, -1.6);
if (HaveMultisample) {
glRasterPos2f(-3.1, -1.6);
if (DoMultisample)
PrintString("MULTISAMPLE");
PrintString(" MULTISAMPLE");
else
PrintString("MULTISAMPLE (off)");
}
glRasterPos2f(-0.8, -1.6);
PrintString("No antialiasing");
else
PrintString("MULTISAMPLE (N/A)");
glRasterPos2f(1.6, -1.6);
PrintString("GL_POLYGON_SMOOTH");
/* multisample */
if (HaveMultisample) {
glEnable(GL_DEPTH_TEST);
if (DoMultisample)
glEnable(GL_MULTISAMPLE_ARB);
glPushMatrix();
glTranslatef(-2.5, 0, 0);
glPushMatrix();
glRotatef(Zrot, 0, 0, 1);
DrawObject();
glPopMatrix();
glPopMatrix();
glDisable(GL_MULTISAMPLE_ARB);
glDisable(GL_DEPTH_TEST);
}
/* non-aa */
glEnable(GL_DEPTH_TEST);
glPushMatrix();
glTranslatef(-2.5, 0, 0);
glPushMatrix();
glRotatef(Zrot, 0, 0, 1);
DrawObject();
glPopMatrix();
glPopMatrix();
glDisable(GL_DEPTH_TEST);
/* multisample */
glEnable(GL_DEPTH_TEST);
if (HaveMultisample && DoMultisample)
glEnable(GL_MULTISAMPLE_ARB);
glPushMatrix();
glTranslatef(0, 0, 0);
glPushMatrix();
glRotatef(Zrot, 0, 0, 1);
DrawObject();
glPopMatrix();
glPopMatrix();
glDisable(GL_MULTISAMPLE_ARB);
glDisable(GL_DEPTH_TEST);
/* polygon smooth */