其他分享
首页 > 其他分享> > OpenGL各种库

OpenGL各种库

作者:互联网

OpenGL有很多扩展库,下面我们一一了解一下,现在开发过程中,我们推荐使用opengl+glew+glfw组合方案。

opengl32.lib:(DLL)是MS为openGL能够在window环境下工作设计的函数库,这个库的工作很简单。如果你的机器上存在硬件加速的GL驱动,调用该驱动,否则用软件的方法实现。
包含gl.h文件并使用了里面的函数必须将opengl32.lib加入你的工程。

glew:不同的显卡公司,也会发布一些只有自家显卡才支 持的扩展函数,你要想用这数涵数,不得不去寻找最新的glext.h,有了GLEW扩展库,你就再也不用为找不到函数的接口而烦恼,因为GLEW能自动识别你的平台所支持的全部OpenGL高级扩展函数。也就是说,只要包含一个glew.h头文件,你就能使用gl,glu,glext,wgl,glx的全部函数。

glfw:一个轻量级的,开源的,跨平台的library。支持OpenGL及OpenGL ES,用来管理窗口,读取输入,处理事件等。因为OpenGL没有窗口管理的功能,所以很多热心的人写了工具来支持这些功能,比如早期的glut,现在的freeglut等。那么GLFW有何优势呢?glut太老了,最后一个版本还是90年代的。freeglut完全兼容glut,算是glut的代替品,功能齐全,但是bug太多。稳定性也不好(不是我说的啊),GLFW应运而生。

Equalizer(均衡器)是一个用于可伸缩OpenGL应用程序的开源编程接口和资源管理系统。均衡器应用程序可以部署在任何可视化系统上,从单管工作站到大型图形集群。

GLee是一个免费的跨平台扩展加载库,可以减轻应用程序的负担。GLee使得检查OpenGL扩展和核心版本的可用性变得容易,无需您的努力就可以自动设置入口点。

GLUS是一个开源的C库,它提供了一个硬件和操作系统抽象,以及使用OpenGL、opengles或OpenVG进行图形编程所需的许多函数。

OpenGL Mathematics (OpenGL 数学,GLM)是基于OpenGL着色语言(GLSL)规范的三维软件的C++数学库。

libktx是KTX工具集的一部分,是一个函数库,用于编写KTX格式的文件并从中实例化GL纹理。

OpenSceneGraph是一个高级的3D图形工具包,它在提供许多自己的功能的同时,还公开了OpenGL的功能。OpenSceneGraph拥有一个庞大的用户社区,已经被用于可视化仿真、游戏、虚拟现实、科学可视化和建模。

glu则是在gl基础上的扩展,如上面所说,他实际上已经是OpenGL的一部分了。他的函数都是以glu开头的(区别于gl函数族),你使用的gluPerspective就是这样的函数。要使用这些函数,必须将glu32.lib链接到你的工程中。

glut是另外一个opengl的扩展库,现在被广泛的使用,其中函数都以glut打头,使用时要连接glut32.lib。顺便说一句,SGI也有在windows环境下的opengl驱动,里面的库文件名改了一下,去掉了32:opengl.lib和glu.lib。这个库只支持32位,已经被淘汰了,替代品是freeglut。

如果我们现在做开发的话,推荐使用opengl+glew+glfw组合方案。

标签:各种,函数,lib,opengl,glut,OpenGL,扩展
来源: https://blog.51cto.com/14207158/2535388