GLUT, freeGLUT, GLFW, GLEW, GLAD 关系与区别
GLUT:(来自百科)(OpenGL Utility Toolkit)是一个处理OpenGL程式的工具库,负责处理和底层操作系统的呼叫以及I/O。
是专为构建中小型OpenGL程序。虽然GLUT是适合学习OpenGL和开发简单的OpenGL应用程序。GLUT并不是一个功能全面的工具包所以大型应用程序需要复杂的用户界面最好使用本机窗口系统工具包。所以GLUT是简单的、容易的、小的。
定义以及控制视窗侦测并处理键盘及鼠标的事件以一个函数呼叫绘制某些常用的立体图形,例如长方体、球、以及犹他茶壶(实心或只有骨架,如glutWireTeapot())提供了简单选单列的实现
GLUT的两个主要目的是建立一个跨平台的函式库(事实上GLUT就是跨平台的),以及简化学习OpenGL的条件。透过GLUT编写OpenGL通常只需要增加几行额外GLUT的程式码,而且不需要知道每个不同操作系统处理视窗的API。
废弃原因:
目前最后版本GLUT v3.7的历史可追溯至1998年8月,且该项目似乎已经被废弃。它的许可证禁止任何人发布修改后的库代码。
毋庸置疑GLUT已经很老了,真的需要改善。此外,GLUT的许可证与一些软件发行不兼容(如XFree86的)。
freeGLUT:(来自百科)是GLUT的一个完全开源替代库。事件处理函数。
Freeglut3.0.0发布于2015年3月7日
GLFW:(来自官网)是一个用于台式机上的OpenGL,OpenGL ES和Vulkan开发的开源,多平台库。它提供了一个简单的API,用于创建窗口,上下文和表面,接收输入和事件。功能雷同freeGLUT,但是据说freeGLUTbug比较多(可能最新版本较为稳定),所以GLFW应运而生,可替代freeGLUT,GLUT。
GLEW:(来自网页)(The OpenGL Extension Wrangler Library),GLUT或者FREEGLUT主要是1.0的基本函数功能;GLEW是使用OPENGL2.0之后的一个工具函数。
不同的显卡公司,也会发布一些只有自家显卡才支持的扩展函数,你要想用这数涵数,不得不去寻找最新的glext.h,有了GLEW扩展库,你就再也不用为找不到函数的接口而烦恼,因为GLEW能自动识别你的平台所支持的全部OpenGL高级扩展函数。也就是说,只要包含一个glew.h头文件,你就能使用gl,glu,glext,wgl,glx的全部函数。
glew包含了OpenGL所需的核心。openGL的实现是显卡生产商,那么系统如何才能找到这些实现好的函数呢?而且不同的平台函数存放地方还不同,文件结构也不同。有没有一种方式能够自动找到OpenGL的函数?这就是glew的作用:用来找openGL的函数,并初始化,这样我们就能直接调用OpenGL的函数了。http://glew.sourceforge.net/
GLAD:(来自网页)Multi-Language GL/GLES/EGL/GLX/WGL Loader-Generator
简单说glad是glew的升级版。用哪个都行。就是glew比较老,glad比较新。
GL3W:(来自网页)是获得OpenGL核心配置文件规范所提供功能的最简单方法。它的主要部分是一个简单的gl3w_gen.py Python脚本,该脚本下载了 Khronos支持的glcorearb.h标头,并从中生成gl3w.h和gl3w.c。然后可以将这些文件添加并链接(静态或动态)到您的项目中。gl3w_gen.py需要Python 2.7或更高版本。它还与Python 3.x兼容。
需要配置python环境,一般用的少。
通常来说glad和glfw配合使用。
参考:
GLUT&freeGLUT百科;
一张图弄懂opengl的诸多库gl glu glut freeglut glew glfw之间关系;
OpenGL之gult/freeglut/glew/glfw/glad的联系与区别;
GL3W.github
GLUT, freeGLUT, GLFW, GLEW, GLAD 关系与区别相关推荐
- 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 ...
- OpenGL学习之VS2017+glfw+glew/glad/freeglut的基本配置与中文教程汇总
找了很多资料,就先马一下.教程都是原版英文的中文翻译教程,都有完整的代码. 基本配置方法(在VS2017上搭建glfw+glew或者glfw+glad) 1. OpenGL+VS2017 环境配置(亲 ...
- OpenGL 环境配置教程-库文件汇总【glfw/glew/glad/glm/std_img】
OpenGL的环境配置是最让初学者头疼的事情了,主要是一开始链接什么glfw.glad,不知道有什么用,什么链接库.包含目录很头大,有一步做错就可能一大堆报错. 本文对LearnOpenGL CN教程 ...
- VS下glut freeglut GLtools glew等 配置教程
转自:http://www.jianshu.com/p/b49fd7fe8b5c freeglut 与 glut的差别: [源自百度百科] freeglut是GLUT ...
- VS2010 与 glut freeglut GLtools glew等 配置教程
freeglut 与 glut的差别: [源自百度百科] freeglut是GLUT [注1]的一个完全开源替代库. GLUT最初是<OpenGL红皮书(第二版)>[注2]中的示例程序.自 ...
- OpenGL之glut、glfw、glew、glad等库之间的关系
结论 1.glad与glew作用类似,实现对底层OpenGL接口封装 2.glfw与glut作用类似,创建窗口界面 3.glut年代久远,现在用glfw居多,可使用glfw+glad组合方式,比如这个 ...
- OpenGL与gl glu glut freeglut glew glfw封装库关系(十五)
1.概述 初学者往往搞不明白OpenGL与诸多库的联系下面一张图帮理清楚,gl glu glut freeglut glew glfw都是对OpenGL的封装而已.这些库已经将OpenGL.E ...
- 一张图弄懂opengl的诸多库gl glu glut freeglut glew glfw之间关系
开始学习opengl,但是看opengl编程指南不同版本之间使用了一堆不同的库,概念名称全都搅起的,越看越糊涂,遂整理的一下opengl相关的一些库的名词, 才发现是不同时期不同版本不断发展的结果. ...
最新文章
- Linux 高可用开源方案 Keepalived VS Heartbeat对比
- 配置错误:不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的...
- Python学习笔记:线程和进程(合),分布式进程
- Gridview 隐藏列
- 欧几里德算法求最大公约数
- 7-60 二分查找法之过程 (10 分)
- Leetcode-探索 | 买股票的最佳时机II
- create报错不是函数_node.js – sequelize .create不是函数错误
- Restful规范-开发api接口
- Eclipse创建Maven工程
- Python套接字编程(1)——socket模块与套接字编程
- KITTI Odometry数据集处理:将全局pose转换为帧间pose转换
- 基于51单片机的银行排队叫号机设计
- 华为服务器管理卡网页打不开,华为路由器登录网站打不开怎么办?
- HTML怎么画圆角平行四边形,圆角平行四边形钻搅机的制作方法
- 数据上链——区块链相关概念
- 典型竞赛关卡结构分析
- wps指定路径不存在怎么办_wps指定路径不存在怎么办_十万人都不知道键盘上 F1~F12 的作用,你肯定想不到......
- 一阶线性电路暂态分析的三要素法
- 概率分布、概率密度、概率函数、分布函数之间区别