GL GLU GLUT的关系

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

gl是核心,glu是对gl的部分封装,glut是OpenGL的跨平台工具库。

gl中包含了最基本的3D函数,而glu似乎对gl的辅助,如果算数好,不用glu的情况下,也是可以做出同样的效果。

glut是基本的窗口界面,如果不喜欢用glut可以用MFC和Win32窗口等代替,但是glut是跨平台的,这就保证了我们编出的程序是跨平台的,如果用MFC或者Win32只能在windows操作系统上使用。选择OpenGL的一个很大原因就是因为它的跨平台性,所以我们可以尽量的使用glut库。

GLUT 不是 OpenGL 所必须的,但它会给我们的学习带来一定的方便。

首先,需要包含头文件#include <GL/glut.h>,这是 GLUT 的头文件。本来 OpenGL 程序一般还要包含<GL/gl.h>和<GL/glu.h>,但 GLUT 的头文件中已经自动将这两个文件包含了,不必再次包含。

各种库

opengl 实用库 : 43个函数,以glu开头,包括纹理映射、坐标变换、多边形分化、绘制一些如椭球、圆柱、茶壶等简单多边形实体部分函数象核心函数一样在任何OpenGL平台都可以应用。

opengl辅助库: 31个函数,以aux 开头。

OpenGL函数库相关的API有核心库(gl)、实用库(glu)、辅助库(aux)、实用工具库(glut)、窗口库(glx、agl、 wgl)和扩展函数库等。

gl是核心,glu是对gl的部分封装。

glx、agl、wgl 是针对不同窗口系统的函数。

glut是为跨平台的OpenGL程序的工具包,比aux功能强大。

几种常见的“奇异”头文件:

<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扩展所使用的函数和常量,不适用于其它操作系统。

opengl库中gl glu glut glaux的区别相关推荐

  1. OpenGL库中gl、glu、glut、glaux的关系

    GL GLU GLUT的关系 OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库. gl是核心,glu是对gl的部分封装,glut是OpenGL的跨平台工具库. gl中包含了最基本的 ...

  2. OpenGL与gl glu glut freeglut glew glfw封装库关系(十五)

    1.概述     初学者往往搞不明白OpenGL与诸多库的联系下面一张图帮理清楚,gl glu glut freeglut glew glfw都是对OpenGL的封装而已.这些库已经将OpenGL.E ...

  3. GL GLU GLUT的关系

    GL GLU GLUT的关系 OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库. gl是核心,glu是对gl的部分封装,glut是OpenGL的跨平台工具库. gl中包含了最基本的 ...

  4. 一张图弄懂opengl的诸多库gl glu glut freeglut glew glfw之间关系

    开始学习opengl,但是看opengl编程指南不同版本之间使用了一堆不同的库,概念名称全都搅起的,越看越糊涂,遂整理的一下opengl相关的一些库的名词, 才发现是不同时期不同版本不断发展的结果. ...

  5. OpenGL 各类库的解析 gl/glu/glut/freeglut/glfw/glew

    看了网上很多资料,讲的都不是很全,正好在学这一块,好好地总结一下吧 注:在windows中,对这些库的大小写是不作要求的 gl.h gl库是核心库,gl中包含了最基本的3D函数,可以再本地电脑中的: ...

  6. OpenGL 各类库的解析gl glu glut freeglut glfw glew

    gl.h gl库是核心库,gl中包含了最基本的3D函数,可以再本地电脑中的: C:\Program Files (x86)\MicrosoftSDKs\Windows\v7.0A\Include\gl ...

  7. glew, glee与 gl glu glut glx glext的区别和关系

    GLEW是一个跨平台的C++扩展库,基于OpenGL图形接口.使用OpenGL的朋友都知道,window目前只支持OpenGL1.1的涵数,但 OpenGL现在都发展到2.0以上了,要使用这些Open ...

  8. gl/glu/glut/gltools等的区别

    发现学OpenGL总是容易忘,其实好多都只是似懂非懂的.从今天起打算重新再学.为了方便查阅,买了 <OpenGL编程指南>和<OpenGL超级宝典>两书.有兴趣的大家可以一起来 ...

  9. C++11库中 steady_clock , system_clock和high_resolution_clock的区别

    C++11 中提供了一个计时的标准库 <chrono>; 里面有三种时钟 clock: steady_clock, system_clock 和 high_resolution_clock ...

最新文章

  1. Nginx缓存设置教程
  2. 深入理解IPyton以及Jupyter Notebook中的%time以及%timeit的作用
  3. python培训班靠谱的-Python培训机构就业靠不靠谱?
  4. 为指定的职工在原工资的基础上长10%的工资,并打印涨工资前和涨工资后的工资
  5. 带你玩转Pandas
  6. 使用代理下载android系统源码和SDK
  7. 39 SD配置-销售凭证设置-定义计划行类别
  8. OPPO Reno6系列将推Bobbi Brown联名版
  9. 两台电脑共享怎么设置_两台电脑共用键鼠的简单设置
  10. iOS 代码命名规范 及Android 代码命名规范(1)iOS
  11. Latex复杂三线图的处理
  12. 3dmax破解+vray安装
  13. 美国电话卡原生卡和虚商卡区别
  14. 利用Python的sympy包求解一元三次方程
  15. 魔兽世界怀旧服显示没有可用服务器,魔兽世界怀旧服选哪个服务器
  16. tensor 增加维度_tensor 维度变换
  17. BZOJ3560 DZY Loves Math V
  18. SQL中cast和convert的区别
  19. 这社会并不是靠努力和辛苦赚钱的
  20. 金字塔图案——Java

热门文章

  1. ebc是什么意思_UEFI+GPT和Legacy+MBR两种模式安装的系统有什么区别
  2. Python ndarray.strides用法
  3. php丢弃,在IIS 7.5中,PHP吓坏了(连接丢失,连接被丢弃)
  4. 1.大数据处理架构Hadoop
  5. 【c++】29.设计模式总结
  6. 锁Lock 那点事儿
  7. 学术写作利器——LaTeX入门笔记整理(不定期更新,附加使用心得)
  8. Hadoop MapReduce的模式、算法和用例
  9. Python爬虫入门(1):综述
  10. 《大话数据结构》第3章 线性表 3.8.2 单链表的删除