OpenGL 各类库的解析 gl/glu/glut/freeglut/glfw/glew
看了网上很多资料,讲的都不是很全,正好在学这一块,好好地总结一下吧
注:在windows中,对这些库的大小写是不作要求的
gl.h
gl库是核心库,gl中包含了最基本的3D函数,可以再本地电脑中的: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\gl 路径下找到gl.h头文件,打开后可以看到其中定义的上百个相关函数。
glu.h
glu是实用库,包含有43个函数,函数名的前缀为glu。glu 为了减轻繁重的编程工作,glu对gl中的函数进行部分封装,glu函数通过调用核心库的函数,为开发者提供相对简单的用法,实现一些较为复杂的操作。如果算术好,在不使用glu库的情况下,使用gl库可以实现同样的效果。
glut.h
gult:OpenGL工具库 OpenGL Utility Toolkit。 glut是基本的窗口界面,是独立于gl和glu的,如果不喜欢用glut可使用MFC和Win32窗口等代替。但是glut是跨平台的,这就保证了我们编出的程序具有跨平台性,而使用MFC或Win32只能在windows操作系统上使用。主要包括窗口操作函数,窗口初始化、窗口大小、窗口位置等函数;回调函数:响应刷新消息、键盘消息、鼠标消息等等。 这个头文件自动包含了gl.h和glu.h,编程时不必再次包含它们。
freeglut.h
各种教程和书里常见的是闭源的GLUT。但由于GLUT的作者已经很久没更新过了(最后更新于2000年!= =),所以其他人另外做了一个接口兼容GLUT的freeglut,开源而且一直在维护中。可以理解为glut的替代库。
glew
GLUT或者FREEGLUT主要是1.0的基本函数功能;GLEW是使用OPENGL2.0之后的一个工具函数。不同的显卡公司,也会发布一些只有自家显卡才支 持的扩展函数,你要想用这数涵数,不得不去寻找最新的glext.h,有了GLEW扩展库,你就再也不用为找不到函数的接口而烦恼,因为GLEW能自动识别你的平台所支持的全部OpenGL高级扩展函数。也就是说,只要包含一个glew.h头文件,你就能使用gl,glu,glext,wgl,glx的全部函数。
glfw.h
GLFW无愧于其号称的lightweight的OpenGL框架,一个头文件,很少量的API,就完成了任务。GLFW的开发目的是用于替代glut的,从代码和功能上来看,我想它已经完全的完成了任务。它是一个轻量级的,开源的,跨平台的library。支持OpenGL及OpenGL ES,用来管理窗口,读取输入,处理事件等。因为OpenGL没有窗口管理的功能,所以很多热心的人写了工具来支持这些功能,比如早期的glut,现在的freeglut等。那么GLFW有何优势呢?glut太老了,最后一个版本还是90年代的。freeglut完全兼容glut,算是glut的代替品,功能齐全,但是bug太多。稳定性也不好(不是我说的啊),GLFW应运而生。并且glfw也是跨平台的~!
————————————————
版权声明:本文为CSDN博主「MISAYAONE」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/misayaaaaa/article/details/73087464
OpenGL 各类库的解析 gl/glu/glut/freeglut/glfw/glew相关推荐
- OpenGL 各类库的解析gl glu glut freeglut glfw glew
gl.h gl库是核心库,gl中包含了最基本的3D函数,可以再本地电脑中的: C:\Program Files (x86)\MicrosoftSDKs\Windows\v7.0A\Include\gl ...
- 一张图弄懂opengl的诸多库gl glu glut freeglut glew glfw之间关系
开始学习opengl,但是看opengl编程指南不同版本之间使用了一堆不同的库,概念名称全都搅起的,越看越糊涂,遂整理的一下opengl相关的一些库的名词, 才发现是不同时期不同版本不断发展的结果. ...
- GLUT, freeGLUT, GLFW, GLEW, GLAD 关系与区别
GLUT:(来自百科)(OpenGL Utility Toolkit)是一个处理OpenGL程式的工具库,负责处理和底层操作系统的呼叫以及I/O. 是专为构建中小型OpenGL程序.虽然GLUT是适合 ...
- OpenGL与gl glu glut freeglut glew glfw封装库关系(十五)
1.概述 初学者往往搞不明白OpenGL与诸多库的联系下面一张图帮理清楚,gl glu glut freeglut glew glfw都是对OpenGL的封装而已.这些库已经将OpenGL.E ...
- opengl库中gl glu glut glaux的区别
GL GLU GLUT的关系 OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库. gl是核心,glu是对gl的部分封装,glut是OpenGL的跨平台工具库. gl中包含了最基本的 ...
- GL GLU GLUT的关系
GL GLU GLUT的关系 OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库. gl是核心,glu是对gl的部分封装,glut是OpenGL的跨平台工具库. 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超级宝典>两书.有兴趣的大家可以一起来 ...
- VS下glut freeglut GLtools glew等 配置教程
转自:http://www.jianshu.com/p/b49fd7fe8b5c freeglut 与 glut的差别: [源自百度百科] freeglut是GLUT ...
最新文章
- 最全面的缓存架构设计
- shell实现批量在多台windows服务器上执行同一命令并获取返回结果
- AI:2020年6月北京智源大会演讲视频回放集合——分享博主体会与总结
- Thymeleaf提取公共页面(从实例入手,以inspinia模板为例)
- 两道递推公式题的解题报告
- lvs系列之dr(二)
- Windows下静态链接库的使用
- 【bfs】极其简单的最短路问题
- centos7.3 docker安装grafana
- linux系统ip占用,IP地址被占用的问题,折腾我好几天了 (已解决)
- clickhouse注入的利用
- Realsense D435i 运行 Vins-fusion
- DEL: 2012年每月花销
- 网站时间显示——基于Date
- 库克回应乔纳森离职:不影响苹果继续创新
- 林期苏曼属性标签编辑_标签打印软件如何打印指定日期
- 1. MySQL基础概念及mysql安装,从MySQL获得帮助 及视频下载地址
- datanode启动后闪退_网友吐槽12306 App:不同意获取个人信息就会“闪退”
- 最近学到一些linq和面向对象的经验分享
- 【SpringBoot_ANNOTATIONS】组件注册 03 FilterType
热门文章
- android 市场自动安装软件,Android 应用中跳转到应用市场评分示例
- 用c语言做教学课程安排,C语言入门课程安排
- 《mongodb权威指南》学习
- JVM学习笔记(四)------内存调优
- Spring容器中Bean的作用域
- 程序员面试题精选100题(16)-O(logn)求Fibonacci数列[算法]
- 跟我一起写 Makefile(十)
- 【OpenCV3】角点检测——cv::goodFeaturesToTrack()与cv::cornerSubPix()详解
- iOS应用代码注入防护
- Tomcat的设置1——设置根目录