配置freeglut和glew

in openglcode with 0 comment

一 配置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的配置就完成了。


下面执行测试程序:

[cpp] view plaincopy
  1. <span style="font-size:14px;">#include <gl/glut.h>  
  2. void myDisplay(void)    
  3. {    
  4.     glClear(GL_COLOR_BUFFER_BIT);    
  5.     glRectf(-0.5f, -0.5f, 0.5f, 0.5f);    
  6.     glFlush();    
  7. }    
  8. int main(int argc, char *argv[])    
  9. {    
  10.     glutInit(&argc, argv);    
  11.     glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);    
  12.     glutInitWindowPosition(100, 100);    
  13.     glutInitWindowSize(400, 400);    
  14.     glutCreateWindow("第一个OpenGL程序");    
  15.     glutDisplayFunc(&myDisplay);    
  16.     glutMainLoop();    
  17.     return 0;    
  18. } </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
 
 
 
 
 
3,运行测试:
 
需要注意的:

#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


本文引用资料:

http://glew.sourceforge.net/install.html

http://blog.csdn.net/hongqiang200/article/details/5792665


Comments are closed.