/* Demo of the color interpolation. This shows that the order of vertices of a triangle does *not* matter, since these triangles look the same. Implemented Fall 2003 Scott D. Anderson */ #include #include #include GLfloat A[3] = {0,0,0}; GLfloat B[3] = {1,0,0}; GLfloat C[3] = {0,1,0}; GLfloat Red[3] = {1,0,0}; GLfloat Green[3] = {0,1,0}; GLfloat Blue[3] = {0,0,1}; void drawABC() { glBegin(GL_TRIANGLES); { glColor3fv(Red); glVertex3fv(A); glColor3fv(Green); glVertex3fv(B); glColor3fv(Blue); glVertex3fv(C); } glEnd(); } void drawCAB() { glBegin(GL_TRIANGLES); { glColor3fv(Blue); glVertex3fv(C); glColor3fv(Red); glVertex3fv(A); glColor3fv(Green); glVertex3fv(B); } glEnd(); } void display(void) { twDisplayInit(); twCamera(); glShadeModel(GL_SMOOTH); drawABC(); glPushMatrix(); glTranslatef(1,0,0); drawCAB(); glPopMatrix(); glFlush(); glutSwapBuffers(); } int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); twInitWindowSize(800,500); glutCreateWindow(argv[0]); glutDisplayFunc(display); twBoundingBox(0,2,0,1,-1,1); twMainInit(); glutMainLoop(); return 0; }