OpenGL中gl,glu,glut的关系(扩展)

来源:互联网 发布:网络理财收益排行榜 编辑:程序博客网 时间:2024/06/10 02:49

        OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库。

    gl是核心,gl中包含了最基本的3D函数,glu是对gl的部分封装,而glu似乎对gl的辅助,如果算术好,在不使用glu的情况下,使用gl可以实现同样的效果。glu包含有43个函数,函数名前缀为glu。

    glut是基本的窗口界面,是独立于gl和glu的,如果不喜欢用glut可使用MFC和Win32窗口等代替。但是glut是跨平台的,这就保证了我们编出的程序具有跨平台性,而使用MFC或Win32只能在windows操作系统上使用。

    这个库提供了创建窗口,处理键盘和鼠标事件,设置调色板等OpenGL本身不提供,但在编写OpenGL程序时又经常用到的功能,目前许多OpenGL教程使用这个库来编写演示程序。一些编译系统不直接提供这种库(例如VC系列),需要单独下载安装(有需要可以联系我)。这个头文件自动包含了<GL/gl.h>和<GL/glu.h>,编程时不必再次包含它们。

   <GL/glaux.h>:GLAUX(OpenGL辅助库)所使用的函数和常量声明。目前这个库已经过时,只有比较少的编译环境中有提供,例如VC系列。在VC系列编译器中,使用这个头文件之前必须使用#include <windows.h>或者具有类似功能的头文件。

   <GL/glext.h>:扩展头文件。因为微软公司对OpenGL的支持不太积极,VC系列编译器虽然有<GL/gl.h>这个头文件,但是里面只有OpenGL 1.1版本中所规定的内容,而没有OpenGL 1.2及其以后版本。对当前的计算机配置而言,几乎都支持OpenGL 1.4版本,更高的则到1.5, 2.0, 2.1,而VC无法直接使用这些功能。为了解决这一问题,就有了   <GL/glext.h>头文件。这个头文件提供了高版本OpenGL所需要的各种常数声明以及函数指针声明。

   <GL/wglext.h>:扩展头文件。与<GL/glext.h>类似,但这个头文件中只提供适用于Windows系统的各种OpenGL扩展所使用的函数和常量,不适用于其它操作系统。

0 0
原创粉丝点击