//Vertex coloring is nothing really special //it is just normal coloring only setting the colors //to specific vertices instead of whole objects. //This then blends the colors into each other //forming a nice little rainbow type thing //with the colors I have chosen. //So anyway, I did this with a normal quad //but it does work with any shape you choose //Here it is: //I have started my quad. //I then set the color red for the first vertex. //I then draw that vertex. //The next is green. //Then blue. //And finally white. //glBegin(GL_QUADS); //glColor3f(1,0,0); //glVertex3f(-0.5, -0.5, 0.0); //glColor3f(0,1,0); //glVertex3f(-0.5, 0.5, 0.0); //glColor3f(0,0,1); //glVertex3f(0.5, 0.5, 0.0); //glColor3f(1,1,1); //glVertex3f(0.5, -0.5, 0.0); //glEnd(); //Just remember to call each vertex after you call the color //for this to work. #include #include void square (void) { glBegin(GL_QUADS); glColor3f(1,0,0); //red glVertex3f(-0.5, -0.5, 0.0); glColor3f(0,1,0); //green glVertex3f(-0.5, 0.5, 0.0); glColor3f(0,0,1); //blue glVertex3f(0.5, 0.5, 0.0); glColor3f(1,1,1); //white glVertex3f(0.5, -0.5, 0.0); glEnd(); } void display (void) { glClearColor (0.0,0.0,0.0,1.0); glClear (GL_COLOR_BUFFER_BIT); glLoadIdentity(); glTranslatef(0,0,-1); square(); glFlush(); } void reshape (int w, int h) { glViewport (0, 0, (GLsizei)w, (GLsizei)h); glMatrixMode (GL_PROJECTION); glLoadIdentity (); gluPerspective (60, (GLfloat)w / (GLfloat)h, 1.0, 100.0); glMatrixMode (GL_MODELVIEW); } int main (int argc, char **argv) { glutInit (&argc, argv); glutInitDisplayMode (GLUT_SINGLE); glutInitWindowSize (500, 500); glutInitWindowPosition (100, 100); glutCreateWindow ("A basic OpenGL Window"); glutDisplayFunc (display); glutReshapeFunc (reshape); glutMainLoop (); return 0; }