/* gcc -o template -L/usr/X11R6/lib -lX11 -lXi -lXmu -lglut -lGL -lGLU -lm template.c */ #include #include #include #include void display() { glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glPushMatrix(); glPopMatrix(); glutSwapBuffers(); } void init() { glClearColor(0.0,0.0,0.0,0.0); glClearDepth(1.0); glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glColor4f(1.0,1.0,1.0,1.0); glShadeModel(GL_SMOOTH); glEnable(GL_DEPTH_TEST); } void reshape(int w,int h) { glViewport(0,0,(GLsizei)w,(GLsizei)h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(-(GLsizei)w/2,(GLsizei)w/2,-(GLsizei)h/2,(GLsizei)h/2,-500,500); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); } void keyboard(unsigned char key, int x, int y) { if(key == 27) exit(0); } int main(int argc,char **argv) { glutInit(&argc,argv); glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA|GLUT_DEPTH); glutInitWindowSize(800,600); glutInitWindowPosition(100,100); glutCreateWindow(argv[0]); init(); glutReshapeFunc(reshape); glutDisplayFunc(display); glutKeyboardFunc(keyboard); glutMainLoop(); return 0; }