转载 http://blog.csdn.net/xiajun07061225/article/details/6869040
OpenGL是Windows自带的。如何查看自己电脑上的OpenGL版本呢?
新建win32空项目,添加cpp文件,写入下列代码:
- #include<Windows.h>
- #include <stdio.h>
- #include <GL/glut.h>
- int main(int argc, char** argv)
- {
- glutInit(&argc,argv);
- //显示模式初始化
- glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH);
- //定义窗口大小
- glutInitWindowSize(300,300);
- //定义窗口位置
- glutInitWindowPosition(100,100);
- //创建窗口
- glutCreateWindow("OpenGL Version");
- const GLubyte* name = glGetString(GL_VENDOR); //返回负责当前OpenGL实现厂商的名字
- const GLubyte* biaoshifu = glGetString(GL_RENDERER); //返回一个渲染器标识符,通常是个硬件平台
- const GLubyte* OpenGLVersion =glGetString(GL_VERSION); //返回当前OpenGL实现的版本号
- const GLubyte* gluVersion= gluGetString(GLU_VERSION); //返回当前GLU工具库版本
- printf("OpenGL实现厂商的名字:%s\n", name);
- printf("渲染器标识符:%s\n", biaoshifu);
- printf("OOpenGL实现的版本号:%s\n",OpenGLVersion );
- printf("OGLU工具库版本:%s\n", gluVersion);
- return 0;
- }
下面介绍GLUT工具包的安装过程。
选择的编译环境:VS2008.
安装GLUT工具包
GLUT不是OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装。
Windows环境下的GLUT下载地址:(大小约为150k)
1、将下载的压缩包解开,将得到5个文件
2、在“我的电脑”中搜索“gl.h”,并找到其所在文件夹
对于VisualStudio2008,把glut.h 复制到文件夹:F:\Program Files\VS2008\VC\include\GL(我的电脑是这样的,不同电脑可能不一样),如果没有GL这个文件夹则可以自己新建一个。
3、把解压得到的glut.lib和glut32.lib放到静态函数库所在文件夹(即与include并排的lib文件夹下)。
4、把解压得到的glut.dll和glut32.dll放到操作系统目录下面的system32文件夹内。(典型的位置为:C:\Windows\System32)
3、把解压得到的glut.lib和glut32.lib放到静态函数库所在文件夹(即与include并排的lib文件夹下)。
4、把解压得到的glut.dll和glut32.dll放到操作系统目录下面的system32文件夹内。(典型的位置为:C:\Windows\System32)
Note:我试了一下,好像不做第四步也可以。不知道为什么?
建立一个OpenGL工程
选择File->New->Project,然后选择Win32 Console Application.选择一个名字,然后按OK。在谈出的对话框左边点Application Settings,找到Empty project并勾上,选择Finish。然后向该工程添加一个代码文件即可。
测试程序:
建立一个OpenGL工程
选择File->New->Project,然后选择Win32 Console Application.选择一个名字,然后按OK。在谈出的对话框左边点Application Settings,找到Empty project并勾上,选择Finish。然后向该工程添加一个代码文件即可。
测试程序:
- <span style="font-family:FangSong_GB2312;"><span style="font-size:16px;">#include <GL/glut.h>
- //初始化操作
- void init()
- {
- glClearColor(0.0,0.0,0.0,0.0);//设置要清除的背景颜色
- glMatrixMode(GL_PROJECTION);//使用正投影将矩形区域的内容映射到屏幕上
- glLoadIdentity();//eplace the current matrix with the identity matrix
- glOrtho(0.0,1.0,0.0,1.0,-1.0,1.0);
- }
- void display()
- {
- glClear(GL_COLOR_BUFFER_BIT);//执行清除背景颜色的操作
- glColor3f(1.0,0,0);//绘制物体的颜色:黑色
- //绘制矩形
- glBegin(GL_POLYGON);
- glVertex3f(0.25,0.25,0.0);
- glVertex3f(0.75,0.25,0.0);
- glVertex3f(0.75,0.75,0.0);
- glVertex3f(0.25,0.75,0.0);
- glEnd();
- glFlush();//保证绘图命令将被实际执行,而不是存储在缓冲区等待其他的OpenGL命令
- }
- int main(int argc,char** argv)
- {
- //GLUT通过5个函数执行初始化窗口所需要的额任务
- glutInit(&argc,argv);//对GLUT进行初始化
- //指定使用RGBA模式还是颜色索引模式、窗口拥有相关联的深度、模板
- glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
- glutInitWindowSize(250,250);//指定窗口大小
- glutInitWindowPosition(100,100);//指定窗口左上角位置
- glutCreateWindow("Hello");//创建一个支持OpenGL渲染环境的窗口,返回一个标识符标志这个窗口
- init();
- glutDisplayFunc(display);//显示回调函数
- glutMainLoop();