码迷,mamicode.com
首页 > 其他好文 > 详细

OpenGL(二)之使用GLUT进行显示窗口管理

时间:2015-11-29 14:55:47      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

1.在VS2013中建立一个OpenGL工程

选择File->New->Project,然后选择Win32 Console Application,选择一个名字,然后按OK。

在谈出的对话框左边点Application Settings,找到Empty project并勾上,选择Finish。

然后向该工程添加一个代码文件,取名为“OpenGL.c”,注意用.c来作为文件结尾。

搞定了,就跟平时的工程没什么两样的。

 

2.第一个OpenGL程序

  

 1 //GLUT的头文件
 2 //本来OpenGL程序一般还要包含<GL/gl.h>和<GL/glu.h>,但GLUT的头文件中已经自动将这两个文件包含了,不必再次包含
 3 #include <glut.h>
 4 
 5 void myDisplay(void)
 6 
 7 {
 8     //表示清除颜色
 9     glClear(GL_COLOR_BUFFER_BIT);
10 
11     //画一个矩形。四个参数分别表示了位于对角线上的两个点的横、纵坐标
12     glRectf(-0.5f, -0.5f, 0.5f, 0.5f);
13 
14     //保证前面的OpenGL命令立即执行(而不是让它们在缓冲区中等待)
15     glFlush();
16 
17 }
18 
19 //带命令行参数的main函数
20 int main(int argc, char *argv[])
21 
22 {
23     //以glut开头的函数都是GLUT工具包所提供的函数
24 
25     //对GLUT进行初始化,这个函数必须在其它的GLUT使用之前调用一次。其格式比较死板,一般照抄这句glutInit(&argc, argv)就可以了
26     glutInit(&argc, argv);
27 
28     //设置显示方式,其中GLUT_RGB表示使用RGB颜色,与之对应的还有GLUT_INDEX(表示使用索引颜 色)。
29     //GLUT_SINGLE表示使用单缓冲,与之对应的还有GLUT_DOUBLE(使用双缓冲)
30     glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
31 
32     //设置窗口在屏幕中的位置
33     glutInitWindowPosition(100, 100);
34 
35     //设置窗口的大小
36     glutInitWindowSize(400, 400);
37 
38     //根据前面设置的信息创建窗口。参数将被作为窗口的标题
39     //注意:窗口被创建后,并不立即显示到屏幕上。需要调用glutMainLoop才能看到窗口
40     glutCreateWindow("第一个OpenGL程序");
41 
42     //每当GLUT确定一个窗口的内容需要重新显示时,通过glutDisplayFunc() 所注册的那个回调函数就会被执行
43     //应该把重绘场景所需要的所有代码都放在这个显示回调函数里。
44     glutDisplayFunc(&myDisplay);
45 
46     //所有已经创建的窗口将会在这时显示,对这些窗口的渲染也开始生效
47     //事件处理循环开始启动,已注册的显示回调函数被触发。一旦进入循环,它就永远不会退出。
48     glutMainLoop();
49 
50     return 0;
51 
52 }

 

 

 

该程序的作用是在一个黑色的窗口中央画一个白色的矩形。具体情况请看注释~~

 

这就是简单的第一个OpenGL程序~~

OpenGL(二)之使用GLUT进行显示窗口管理

标签:

原文地址:http://www.cnblogs.com/tjulym/p/5004744.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!