OpenGL的版本及各种库Computer Graphics 2010-07-08 15:57:33 阅读36 评论0 字号:大中小 订阅 Microsoft都不想支持OpenGL了哈,所以Windows下OpenGL都停留在1.1的版本,更甚的好像是Win7就根本没有给装OpenGL,因为我装完Win7的时候OpenGL工程是找不到头文件的,要自己去下载,遥想当时找了半天也找不到下载地址,想想竟然使用这么广泛的东西竟然没有官方网站可以去下载的,还是从什么乱七八糟的地方下载了一个压缩包,里面有gl、glu、glut、glaux、alext、wglext,版本未知,可以从这下载到。由于有太多的版本和扩展库了,太乱了,虽然看到很多介绍,但是过一段时间总免不了忘了。还是把他们都列出来吧: (1)OpenGL核心库 也就是gl.h、opengl32.lib、opengl.dll了。最核心的库了,OpenGL程序肯定要用到这个库啦。里面是最基本的图元操作,如点、线什么的。 (2)GLU辅助库 也就是glu.h、glu32.lib、glu.dll了。是仅次于核心库的库了,是所有OpenGL的标准中都会包含的,所以肯定是要有这个库啦。这个库其实也没做什么东西,就是用核心库中的函数包装了一下,有一些功能更强大的函数,如gluSphere()一下就可以画个圆了,可是要在核心库中估计得半天。 (3)GLUT窗口管理库 也就是glut.h、glut32.lib、glut32.dll了。OpenGL是与窗口管理系统无关的,所以在Windows下面的OpenGL程序可能会用MFC来做窗口,在Linux下可能就是X Window窗口了。所以OpenGL估计觉得要做就得做得全一点,一条龙服务嘛,就也弄了个窗口管理库GLUT。这个库是用来实现如产生窗口、消息循环等窗口系统功能的,而且是跨平台的,也就是写出来的程序在Windows下运行的样子与Linux下运行的窗口样子都一样。当然也可以不用GLUT窗口库,改用其他的窗口系统,那就需要有个接口可以使窗口系统与OpenGL进行交流,在Windows下是wgl打头的一类函数,在XWindow下是xgl打头的一类函数。其他的类似。 (4)GLEXT扩展库 想使用更高版本GL的特性,你必须包含该头文件,并将你的显卡驱动更新到最新版本。 glext库用于根据显卡厂商对某个extension的具体说明来定义一些宏并声明一些函数指针的类型,所以其是与显示硬件相关的。 下面的来自:http://www.cnblogs.com/madfrog/archive/2010/06/25/1765243.html 下面就是glext为我们做的事: (5)GLEW库 转摘自:http://blog.csdn.net/a117653909/archive/2010/03/26/5418604.aspx GLEW是一个跨平台的C++扩展库,基于OpenGL图形接口。使用OpenGL的朋友都知道,window目前只支持OpenGL1.1的涵数,但 OpenGL现在都发展到2.0以上了,要使用这些OpenGL的高级特性,就必须下载最新的扩展,另外,不同的显卡公司,也会发布一些只有自家显卡才支 持的扩展函数,你要想用这数涵数,不得不去寻找最新的glext.h,有了GLEW扩展库,你就再也不用为找不到函数的接口而烦恼,因为GLEW能自动识 别你的平台所支持的全部OpenGL高级扩展涵数。也就是说,只要包含一个glew.h头文件,你就能使用gl,glu,glext,wgl,glx的全 部函数。GLEW支持目前流行的各种操作系统(including Windows, Linux, Mac OS X, FreeBSD, Irix, and Solaris)。 官方主页:http://glew./ (6)GLEE库 |
|