#include <GL/glut.h>UqBLinux联盟 UqBLinux联盟 void display(void)UqBLinux联盟 {UqBLinux联盟 /* clear all pixels */UqBLinux联盟 glClear (GL_COLOR_BUFFER_BIT);UqBLinux联盟 UqBLinux联盟 /* draw white polygon (rectangle) with corners atUqBLinux联盟 * (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) UqBLinux联盟 */UqBLinux联盟 glColor3f (1.0, 1.0, 1.0);UqBLinux联盟 glBegin(GL_POLYGON);UqBLinux联盟 glVertex3f (0.25, 0.25, 0.0);UqBLinux联盟 glVertex3f (0.75, 0.25, 0.0);UqBLinux联盟 glVertex3f (0.75, 0.75, 0.0);UqBLinux联盟 glVertex3f (0.25, 0.75, 0.0);UqBLinux联盟 glEnd();UqBLinux联盟 UqBLinux联盟 /* don't wait! UqBLinux联盟 * start processing buffered OpenGL routines UqBLinux联盟 */UqBLinux联盟 glFlush ();UqBLinux联盟 }UqBLinux联盟 UqBLinux联盟 void init (void) UqBLinux联盟 {UqBLinux联盟 /* select clearing color */UqBLinux联盟 glClearColor (0.0, 0.0, 0.0, 0.0);UqBLinux联盟 UqBLinux联盟 /* initialize viewing values */UqBLinux联盟 glMatrixMode(GL_PROJECTION);UqBLinux联盟 glLoadIdentity();UqBLinux联盟 glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);UqBLinux联盟 }UqBLinux联盟 UqBLinux联盟 /* UqBLinux联盟 * Declare initial window size, position, and display modeUqBLinux联盟 * (single buffer and RGBA). Open window with "hello"UqBLinux联盟 * in its title bar. Call initialization routines.UqBLinux联盟 * Register callback function to display graphics.UqBLinux联盟 * Enter main loop and process events.UqBLinux联盟 */UqBLinux联盟 int main(int argc, char** argv)UqBLinux联盟 {UqBLinux联盟 glutInit(&argc, argv);UqBLinux联盟 glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);UqBLinux联盟 glutInitWindowSize (250, 250); UqBLinux联盟 glutInitWindowPosition (100, 100);UqBLinux联盟 glutCreateWindow ("hello");UqBLinux联盟 init ();UqBLinux联盟 glutDisplayFunc(display); UqBLinux联盟 glutMainLoop();UqBLinux联盟 return 0; /* ANSI C requires main to return int. */UqBLinux联盟 }UqBLinux联盟
|