[OpenGL] 配置freeglut和glew
原文地址:http://blog.csdn.net/xuguangsoft/article/details/8002375
一 配置freeglut
GLUT 代表OpenGL Utility Tookit。Mark J.Kilgard 为了使OpenGL应用程序结构能够真正独立于窗口系统构思了GLUT库。
Freeglut是一个GLUT的开源实现。具体配置步骤如下:
下载freeglut
http://nchc.dl.sourceforge.net/project/freeglut/freeglut/2.8.0/freeglut-2.8.0.tar.gz
解压
进到freeglut-2.8.0\VisualStudio\里面有2008和2010两个文件夹,分别是VS2008和VS2010的文本文件,选着你的环境,运行freeglut.sln
改成release后,在解决方案资源管理器里,右键解决方案,build solution。(VS2008如下图)
编译成功后退回到 freeglut-2.8.0根目录, 把include\GL里面所有的.h文件复制到D:\Microsoft Visual Studio 10.0\VC\include文件夹,需要创建GL文件夹(同理VS2008就放在类似的目录里)
退回到 freeglut-2.8.0根目录, 把lib\x86里面的freeglut.dll复制到C:\Windows\System32文件夹里,把freeglut.lib复制到D:\Microsoft Visual Studio 10.0\VC\lib里(VS2008也放在它相应的位置)
到此freeglut的配置就完成了。
下面执行测试程序:
- <span style="font-size:14px;">#include <gl/glut.h>
- void myDisplay(void)
- {
- glClear(GL_COLOR_BUFFER_BIT);
- glRectf(-0.5f, -0.5f, 0.5f, 0.5f);
- glFlush();
- }
- int main(int argc, char *argv[])
- {
- glutInit(&argc, argv);
- glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
- glutInitWindowPosition(100, 100);
- glutInitWindowSize(400, 400);
- glutCreateWindow("第一个OpenGL程序");
- glutDisplayFunc(&myDisplay);
- glutMainLoop();
- return 0;
- } </span>
二 配置GLEW
GLEW是一个跨平台的C++扩展库,基于OpenGL图形接口。GLEW能自动识别你的平台所支持的全部OpenGL高级扩展涵数。也就是说,只要包含一个glew.h头文件,你就能使用gl,glu,glext,wgl,glx的全部函数。GLEW支持目前流行的各种操作系统(including Windows, Linux, Mac OS X, FreeBSD, Irix, and Solaris)使用OpenGL的朋友都知道,window目前只支持OpenGL1.1的涵数,但 OpenGL现在都发展到2.0以上了,要使用这些OpenGL的高级特性,就必须下载最新的扩展,另外,不同的显卡公司,也会发布一些只有自家显卡才支 持的扩展函数,你要想用这数涵数,不得不去寻找最新的glext.h,有了GLEW扩展库,你就再也不用为找不到函数的接口而烦恼,因为GLEW能自动识 别你的平台所支持的全部OpenGL高级扩展h函数。也就是说,只要包含一个glew.h头文件,你就能使用gl,glu,glext,wgl,glx的全 部函数。
glew的配置和freeglut一样,
1,下载:http://glew.sourceforge.net/
2,配置:
配置和freeglut同理,将相应的文件拷贝到相应位置。
bin/glew32.dll | to | %SystemRoot%/system32 |
lib/glew32.lib | to | {VC Root}/Lib |
include/GL/glew.h | to | {VC Root}/Include/GL |
include/GL/wglew.h | to | {VC Root}/Include/GL |
#include <GL/glew.h>
#include <GL/glut.h>
<gl, glu, and glut functionality is available here>
or:
#include <GL/glew.h>
<gl and glu functionality is available here>
另外,需要链接,#pragma comment(lib, "glew32.lib")
GLEE:
关于它相关信息:http://elf-stone.com/glee.php
GLee.h和glew.h都是windows平台下的GL扩展头文件,但是glew使用起来不是很好用,调试时经常会出现一些莫名奇妙的错误,于是有人写了一个轻量级的glew就是GLee。
使用glew时,有些扩展是需要获取指针的但有些不需要,因此最好在使用的时候都查询并获取要使用的GL函数或扩展,如果不获取有可能会出现内存异常。
GLee使用起来就相对方便的多了,只需要将GLee.c和GLee.h包含进工程,再在要使用GL函数或扩展的文件中Include上GLee.h就OK了,最重要的是不需要定义函数指针不需要获取函数指针。
Unofficial OpenGL SDK
http://glsdk.sourceforge.net/docs/html/index.html
本文引用资料: