#include void init() { // set matrix mode to PROJECTION mode glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0,200,0,200); } void drawLine() { //delete buffers glClear(GL_COLOR_BUFFER_BIT); glLineWidth(5.0); glShadeModel(GL_SMOOTH); glBegin(GL_LINES); glColor3f(1.0f, 0.0f, 0.0f); /* red */ glVertex2i(0,0); glColor3f(0.0f, 0.0f, 1.0f); /* blue */ glVertex2i(200,200); glEnd(); } void keyboard(unsigned char key, int x, int y) { switch(key) { case 27: exit(0); break; } } // Called to draw scene void RenderScene(void) { // Clear the window with current clearing color glClear(GL_COLOR_BUFFER_BIT); drawLine(); // Flush drawing commands glFlush(); } // Setup the rendering state void SetupRC(void) { // Set clear color to black glClearColor(0.0f, 0.0f, 0.0f, 1.0f); } // Main program entry point int main(int argc, char* argv[]) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(100,100); glutInitWindowPosition(20,20); glutCreateWindow("Points"); SetupRC(); init(); glutDisplayFunc(RenderScene); glutKeyboardFunc(keyboard); glutMainLoop(); return 0; }