OpenGL环境配置

来源:互联网 发布:办公鼠标推荐 知乎 编辑:程序博客网 时间:2024/06/05 02:43
第一步,选择一个编译环境
现在Windows系统的主流编译环境有Visual Studio,Broland C++ Builder,Dev-C++等,它们都是支持OpenGL的。
我选择Visual Studio 2008和VC6++作为学习OpenGL的环境。
第二步,安装GLUT工具包
GLUT不是OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装。
Windows环境下的GLUT下载地址:(大小约为150k)
http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip

无法从以上地址下载的话请使用下面的连接:

http://upload.programfan.com/upfile/200607311626279.zip

Windows环境下安装GLUT的步骤:
1、将下载的压缩包解开,将得到5个文件
2、在“我的电脑”中搜索“gl.h”,并找到其所在文件夹 
我的系统(Windows XP professional SP3)安装了vc6和vs2010,因为常用vs2010,所以就在vs2010(安装目录:D:\Program Files\VS2010)里配置glut吧。
1. 将glut解压出来,将其中的glut.h复制到D:\Program Files\VS2010\VC\include\GL下,若GL目录不存在,则新建。
2. 将glut.lib和glut32.lib复制到D:\Program Files\VS2010\VC\lib 下。
3. 将glut.dll和glut32.dll复制到C:\WINDOWS\system32下。
至此,环境已经配置好了。
#include "stdafx.h"#include <windows.h> //必须包含否则提示错误// #include <GL\GL.h>// #include <GL\GLU.h>#include <GL\glut.h>void myDisplay(void){<span style="white-space:pre"></span>glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);  glLoadIdentity();  glBegin(GL_TRIANGLES);  glVertex3f(-0.5,-0.5,0.0);  glVertex3f(0.5,0.0,0.0);  glVertex3f(0.0,0.5,0.0);  glEnd();  glutSwapBuffers();  <span style="font-family: Arial;">}</span><pre name="code" class="cpp">int main(int argc, _TCHAR* argv[]){glutInit(&argc, (char**) argv);  glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);  glutInitWindowPosition(400,400);  glutInitWindowSize(320,320);  glutCreateWindow("Hello OpenGL");  glutDisplayFunc(myDisplay);  glutMainLoop();//enters the GLUT event processing loop.  getchar();return 0;}
选择项目属性,选择C/C++->预处理器,在右侧的“预处理器定义”处,删除“_CONSOLE“
在项目属性中,切换到“链接器”->系统,右侧窗口的子系统选择:窗口 (/SUBSYSTEM:WINDOWS)
在项目属性中,再切换到“链接器”->命令行,在“其他选项”中输入:/ENTRY:mainCRTStartup (可以去除程序运行时出现的dos窗口);
编译运行。
1、glutInit,对GLUT进行初始化,这个函数必须在其它的GLUT使用之前调用一次。其格式比较死板,一般照抄这句glutInit(&argc, argv)就可以了。
2、 glutInitDisplayMode,设置显示方式,其中GLUT_RGB表示使用RGB颜色,与之对应的还有GLUT_INDEX(表示使用索引颜色)。GLUT_SINGLE表示使用单缓冲,与之对应的还有GLUT_DOUBLE(使用双缓冲)
3、glutInitWindowPosition,这个简单,设置窗口在屏幕中的位置。
4、glutInitWindowSize,这个也简单,设置窗口的大小。
5、glutCreateWindow,根据前面设置的信息创建窗口。参数将被作为窗口的标题。注意:窗口被创建后,并不立即显示到屏幕上。需要调用glutMainLoop才能看到窗口。
6、glutDisplayFunc,设置一个函数,当需要进行画图时,这个函数就会被调用。(这个说法不够准确,但准确的说法可能初学者不太好理解,暂时这样说吧)。
7、glutMainLoop,进行一个消息循环。(这个可能初学者也不太明白,现在只需要知道这个函数可以显示窗口,并且等待窗口关闭后才会返回,这就足够了。)
在glutDisplayFunc函数中,我们设置了“当需要画图时,请调用myDisplay函数”。于是myDisplay函数就用来画图。观察myDisplay中的三个函数调用,发现它们都以gl开头。这种以gl开头的函数都是OpenGL的标准函数,下面对用到的函数进行介绍。
1、glClear,清除。GL_COLOR_BUFFER_BIT表示清除颜色,glClear函数还可以清除其它的东西,但这里不作介绍。
2、glRectf,画一个矩形。四个参数分别表示了位于对角线上的两个点的横、纵坐标。
3、glFlush,保证前面的OpenGL命令立即执行(而不是让它们在缓冲区中等待)。其作用跟fflush(stdout)类似。



0 0
原创粉丝点击