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程序~~
时间: 2024-10-29 19:13:26