opengl库中gl glu glut glaux的区别
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的区别相关推荐
- OpenGL库中gl、glu、glut、glaux的关系
GL GLU GLUT的关系 OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库. gl是核心,glu是对gl的部分封装,glut是OpenGL的跨平台工具库. gl中包含了最基本的 ...
- OpenGL与gl glu glut freeglut glew glfw封装库关系(十五)
1.概述 初学者往往搞不明白OpenGL与诸多库的联系下面一张图帮理清楚,gl glu glut freeglut glew glfw都是对OpenGL的封装而已.这些库已经将OpenGL.E ...
- GL GLU GLUT的关系
GL GLU GLUT的关系 OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库. gl是核心,glu是对gl的部分封装,glut是OpenGL的跨平台工具库. gl中包含了最基本的 ...
- 一张图弄懂opengl的诸多库gl glu glut freeglut glew glfw之间关系
开始学习opengl,但是看opengl编程指南不同版本之间使用了一堆不同的库,概念名称全都搅起的,越看越糊涂,遂整理的一下opengl相关的一些库的名词, 才发现是不同时期不同版本不断发展的结果. ...
- OpenGL 各类库的解析 gl/glu/glut/freeglut/glfw/glew
看了网上很多资料,讲的都不是很全,正好在学这一块,好好地总结一下吧 注:在windows中,对这些库的大小写是不作要求的 gl.h gl库是核心库,gl中包含了最基本的3D函数,可以再本地电脑中的: ...
- OpenGL 各类库的解析gl glu glut freeglut glfw glew
gl.h gl库是核心库,gl中包含了最基本的3D函数,可以再本地电脑中的: C:\Program Files (x86)\MicrosoftSDKs\Windows\v7.0A\Include\gl ...
- glew, glee与 gl glu glut glx glext的区别和关系
GLEW是一个跨平台的C++扩展库,基于OpenGL图形接口.使用OpenGL的朋友都知道,window目前只支持OpenGL1.1的涵数,但 OpenGL现在都发展到2.0以上了,要使用这些Open ...
- gl/glu/glut/gltools等的区别
发现学OpenGL总是容易忘,其实好多都只是似懂非懂的.从今天起打算重新再学.为了方便查阅,买了 <OpenGL编程指南>和<OpenGL超级宝典>两书.有兴趣的大家可以一起来 ...
- C++11库中 steady_clock , system_clock和high_resolution_clock的区别
C++11 中提供了一个计时的标准库 <chrono>; 里面有三种时钟 clock: steady_clock, system_clock 和 high_resolution_clock ...
最新文章
- Nginx缓存设置教程
- 深入理解IPyton以及Jupyter Notebook中的%time以及%timeit的作用
- python培训班靠谱的-Python培训机构就业靠不靠谱?
- 为指定的职工在原工资的基础上长10%的工资,并打印涨工资前和涨工资后的工资
- 带你玩转Pandas
- 使用代理下载android系统源码和SDK
- 39 SD配置-销售凭证设置-定义计划行类别
- OPPO Reno6系列将推Bobbi Brown联名版
- 两台电脑共享怎么设置_两台电脑共用键鼠的简单设置
- iOS 代码命名规范 及Android 代码命名规范(1)iOS
- Latex复杂三线图的处理
- 3dmax破解+vray安装
- 美国电话卡原生卡和虚商卡区别
- 利用Python的sympy包求解一元三次方程
- 魔兽世界怀旧服显示没有可用服务器,魔兽世界怀旧服选哪个服务器
- tensor 增加维度_tensor 维度变换
- BZOJ3560 DZY Loves Math V
- SQL中cast和convert的区别
- 这社会并不是靠努力和辛苦赚钱的
- 金字塔图案——Java
热门文章
- ebc是什么意思_UEFI+GPT和Legacy+MBR两种模式安装的系统有什么区别
- Python ndarray.strides用法
- php丢弃,在IIS 7.5中,PHP吓坏了(连接丢失,连接被丢弃)
- 1.大数据处理架构Hadoop
- 【c++】29.设计模式总结
- 锁Lock 那点事儿
- 学术写作利器——LaTeX入门笔记整理(不定期更新,附加使用心得)
- Hadoop MapReduce的模式、算法和用例
- Python爬虫入门(1):综述
- 《大话数据结构》第3章 线性表 3.8.2 单链表的删除