1 #include <windows.h>
2 #include <gl/glew.h>
3 #include <gl/glut.h>
4 #include <cstdio>
5 #include <cstdlib>
6 #include <cmath>
7
8 void Init(void)
9 {
10 glClearColor(1.0, 1.0, 1.0, 0.0); // Set display-window color to white
11 // Drawing two-dimensional graphics is a special case of rendering 3D graphics
12 // The two dimensional matrix of the world coordinate system is projected onto the screen.
13 glMatrixMode(GL_PROJECTION);
14 gluOrtho2D(0.0, 200.0, 0.0, 150.0);
15
16 }
17
18 void lineSegment(void)
19 {
20 // glClearColor() does not allow the display window appears on the screen
21 // GlClear function allows assignment of the window to appear on the screen
22 glClear(GL_COLOR_BUFFER_BIT); // Clear displaye window
23
24 glColor3f(1.0, 0.0, 0.0); // Display the color of the window object
25 glBegin(GL_LINES); // GL_POINTS GL_LINES GL_LINE_STRIP GL_LINE_LOOP
26 glVertex2i(180, 15); // Specify line_segment geometry
27 glVertex2i(10, 145);
28 glEnd();
29
30 glFlush(); // Process all OpenGL rountines as quickly as possible
31 }
32
33 int main(int argc, char* argv[])
34 {
35 glutInit(&argc, argv); // Initialize GLUT
36 // Set the cache and color model of the display window, and so on
37 glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
38 glutInitWindowPosition(50, 100); // Display the location of the specified pixel
39 glutInitWindowSize(400, 300); // Set the initial width and height of the display window
40 glutCreateWindow("An Example OpenGL Program"); // Title
41
42 Init();
43 // LineSegment for the creation of the graph,
44 // passed to the function, and the graph is assigned to the display window
45 glutDisplayFunc(lineSegment); // Display callback function
46 // The original display window has not yet appeared on the screen,
47 // glutMainLoop () will display the window and its content activation, and must be the last function
48 glutMainLoop();
49 return 0;
50 }