OpenGL ES glut glew glfw glad freeglut

目录

  • 一.简介
    • 1.freeglut
    • 2.glew
    • 3.glut
    • 4.glfw
    • 5.glad
  • 二.分类
    • 1.窗口管理
    • 2.函数加载
  • 三.组合使用
    • 1.freeglut + glew
    • 2.glfw + glew
    • 3.glfw + glad
  • 四.猜你喜欢

零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础

零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效

零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 转场

零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 函数

零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES GPUImage 使用

零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES GLSL 编程

一.简介

1.freeglut

freeglut 是 GLUT (OpenGL Utility Toolkit)的一个免费开源替代库。在程序中负责创建窗口、初始化 OpenGL 上下文和处理输入事件所需的所有系统特定的杂务,从而允许创建真正可移植的 OpenGL 程序。

在 OpenGL 项目开发中,freeglut 一般搭配 glew 一起使用;

2.glew

OpenGL Extension Wrangler Library (GLEW) 是一个跨平台的开源 C/C++ 扩展加载库。GLEW 提供了有效的运行时机制来确定目标平台支持哪些 OpenGL 扩展。OpenGL 核心和扩展功能在单个头文件中公开。

不同的显卡公司,也会发布一些只有自家显卡才支持的扩展函数,你要想用这数涵数,不得不去寻找最新的 glext.h ,有了 GLEW 扩展库,你就再也不用为找不到函数的接口而烦恼,因为 GLEW 能自动识别你的平台所支持的全部 OpenGL 高级扩展函数。也就是说,只要包含一个 glew.h 头文件,你就能使用 gl glu glext wgl glx 的全部函数。

glew 包含了 OpenGL 所需的核心,glew 作用:用来找 openGL 的函数,并初始化,这样我们就能直接调用 OpenGL 的函数了。

3.glut

OpenGL Utility Toolkit (GLUT) 主要包括窗口操作函数,窗口初始化、窗口大小、窗口位置等函数;回调函数:响应刷新消息、键盘消息、鼠标消息、定时器函数等;创建复杂的三维物体;菜单函数;程序运行函数。

glut 版本太老了,理应被时代淘汰,不推荐使用。freeglut 完全兼容 glut,是 glut 的代替品

4.glfw

官方解释:glfw is an Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan development on the desktop. It provides a simple API for creating windows, contexts and surfaces, receiving input and events.

glfw 开发目的是用于替代 glut 的。它是一个轻量级的,开源的,跨平台的 library。支持 OpenGL 及 OpenGL ES ,用来管理窗口,读取输入,处理事件等。

**glfw 优势:**glut 太老了,最后一个版本还是 90 年代的。freeglut 完全兼容 glut ,算是 glut 的代替品,功能齐全,但是 bug 太多。稳定性也不好(不是我说的啊,不过 3.0 版本还是挺稳定的),所以 glfw 应运而生。

总之,glfw 是 glut / freegult 的升级和改进。glfw 是用来显示窗口和捕捉窗口事件的一套 API,可以理解成 Qt 和 windows 平台的 WPF 。

OpenGL 只是一套控制 GPU 的规则,并没有对于跨平台窗口显示和事件进行规定,所以需要一个显示显卡渲染的窗口,这就是 glfw 的作用。

在 OpenGL 项目开发中,glfw 一般搭配 glad 一起使用;

5.glad

**GLEW 扩展库作用:**不同的显卡公司,也会发布一些只有自家显卡才支持的扩展函数,你要想用这数涵数,不得不去寻找最新的 glext.h ,有了 GLEW 扩展库,你就再也不用为找不到函数的接口而烦恼,因为 GLEW 能自动识别你的平台所支持的全部 OpenGL 高级扩展函数。也就是说,只要包含一个 glew.h 头文件,你就能使用 gl glu glext wgl glx 的全部函数。

glad 是继 gl3w,glew 之后,当前最新的用来访问 OpenGL 规范接口的第三方库。**简单说 glad 是 glew 的升级版,就是说 glew 比较老,glad 比较新,**Windows 中 使用:

// 定义函数原型
typedef void (*GL_GENBUFFERS) (GLsizei, GLuint*);
// 找到正确的函数并赋值给函数指针
GL_GENBUFFERS glGenBuffers  = (GL_GENBUFFERS)wglGetProcAddress("glGenBuffers");
// 现在函数可以被正常调用了
GLuint buffer;
glGenBuffers(1, &buffer);

二.分类

1.窗口管理

老接口glut / freeglut

新接口glfw

2.函数加载

老接口glew
新接口glad

三.组合使用

1.freeglut + glew

该方式是经典组合,可以参考以下案例:

demo 下载:Windows OpenGL 调节亮度 Demo

demo 下载:Windows OpenGL 调节曝光 Demo

demo 下载:Windows OpenGL 调节对比度 Demo

demo 下载:Windows OpenGL 调节饱和度 Demo

demo 下载:Windows OpenGL 调节伽马线 Demo

2.glfw + glew

该方式是非主流组合,一般不会这样搭配

3.glfw + glad

该方式属于比较新潮流,可以参考方案:《OpenGL ES glfw 下载和使用》

四.猜你喜欢

  1. OpenGL ES 简介
  2. OpenGL ES 版本介绍
  3. OpenGL ES 2.0 和 3.0 区别
  4. OpenGL ES 名词解释(一)
  5. OpenGL ES 名词解释(二)
  6. OpenGL ES GLSL 着色器使用过程
  7. OpenGL ES EGL 简介
  8. OpenGL ES EGL 名词解释
  9. OpenGL ES EGL eglGetDisplay
  10. OpenGL ES EGL eglInitialize
  11. OpenGL ES EGL eglGetConfigs
  12. OpenGL ES EGL eglChooseConfig
  13. OpenGL ES EGL eglGetError
  14. OpenGL ES EGL eglCreateContext
  15. OpenGL ES EGL eglCreateWindowSurface
  16. OpenGL ES EGL eglCreatePbufferSurface
  17. OpenGL ES EGL eglMakeCurrent
  18. OpenGL ES EGL eglSwapBuffer
  19. OpenGL ES EGL eglDestroySurface
  20. OpenGL ES EGL eglDestroyContext
  21. OpenGL ES EGL eglQueryContext
  22. OpenGL ES EAGLContext 和 EGLContext
  23. OpenGL ES OpenGL WebGL EGL WGL 区别
  24. OpenGL ES freeglut 下载和使用
  25. OpenGL ES glew 下载和使用
  26. OpenGL ES glut 下载和使用
  27. OpenGL ES glfw 下载和使用
  28. OpenGL ES glad 下载和使用
  29. OpenGL ES glut glew glfw glad freeglut

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/524148.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业实战(Jenkins+GitLab+SonarQube)_05_Jenkins创建管理员用户

Jenkins如何创建管理员用户? 接上一篇:企业实战04_Jenkins安装推荐插件https://blog.csdn.net/weixin_40816738/article/details/90383700 文章目录1. 创建管理员用户2. 请求地址Windows和Linux2.1. Windows的浏览器访问地址:2.2. Linux的浏览…

一张“黑洞”照片需半吨重硬盘?更逆天的操作还有这些……

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!策划 | 孙浩峰作者 | 清儿爸编辑 | LD出品 | CSDN 云计算这两天,全世界的大…

OpenGL ES google angle

目录 一.google angle 简介 1.ANGLE 支持跨平台2.ANGLE 支持渲染器3.ANGLE 下载地址 二.EGL 坐标系三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效 …

企业实战(Jenkins+GitLab+SonarQube)_06_Jenkins自定义安装插件

如何Jenkins自定义安装插件? 接上一篇:企业实战05_Jenkins创建管理员用户https://blog.csdn.net/weixin_40816738/article/details/90383710 文章目录Jenkins自定义安装插件一、操作流程二、Rebuilder插件安装三、safe restart插件安装Jenkins自定义安装…

大数据里的婚姻:婚后两年,出轨高峰……

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!作者: Lens本文为Lens微信公号“WeLens”(ID:we-le…

OpenGL ES Windows 搭建环境(MFC版本)

目录 一.OpenGL 和 OpenGL ES 1.OpenGL2.OpenGL ES 二.EGL 和 WGL三.OpenGL ES EGL API 简介四.OpenGL ES 案例五.依赖动态库六.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 …

企业实战(Jenkins+GitLab+SonarQube)_07_Jenkins 安全设置

前言: 默认全局安全性登录用户,可以进行任何操作,这种安全配置,相对不安全, 因此需要进行安全配置调整. 接上一篇:企业实战06_Jenkins自定义安装插件https://blog.csdn.net/weixin_40816738/article/details/90383716 …

漫画:图的 “最短路径” 问题 | 技术头条

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!作者:蠢萌的小灰转自:程序员小灰————— 第二天 ————…

Linux 环境安装并配置Git

Git是一个开源的分布式版本控制系统,用于存储和管理项目的源代码。 一、Linux 环境安装并配置Git 1. 运行命令在线安装Git2. 验证Git是否安装成功3. 对Git进行初始化4. 生成Git的授权证书5. 将Git证书配置到github上,保证Linux服务器和GitHub之间可连通…

OpenGL Windows 搭建环境(MFC版本)

目录 一.简介二.freeglut glew三.glfw glad四.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录…

Qt在指定区域内拖动窗口

将窗口中的小窗口按住拖动,使其在该窗口中移动。 效果图如下: 鼠标左键按住上图中的彩色窗口,就可以在窗口的客户区中来回拖动窗口。 项目的文件结构如下: 创建基于QWidget的应用程序,main.cpp的程序没有做任何的改变…

昨天,终于拿到了腾讯 offer

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!作者 | 程序员小吴本文来自程序员小吴的一个读者的投稿,我跟他是在 2 月份…

OpenGL 褐色

目录 一.OpenGL 褐色 1.IOS Object-C 版本1.Windows OpenGL ES 版本2.Windows OpenGL 版本 二.OpenGL 褐色 GLSL Shader三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >&…

企业实战(Jenkins+GitLab+SonarQube)_03_Jenkins登录

Jenkins怎样登录?接上一篇Jenkins运行 https://blog.csdn.net/weixin_40816738/article/details/90383686 文章目录1. Windows复制秘钥登录Jenkins2. Linux复制秘钥登录Jenkins1. Windows复制秘钥登录Jenkins 秘钥存放文件的位置(如上图所示): C:\User…

OpenStack精华问答 | OpenStack 网络中 OpenFlow 规则的作用是什么?

被亲生父母抛弃,被众多大厂拒绝,OpenStack 却依旧坚挺。今天就让我们看看关于OpenStack 的精华问答。1Q:OpenStack 网络中 OpenFlow 规则的作用是什么?A: OpenFlow 规则是一种机制,这种机制定义了一个数据包如何从源到达目的地。O…

企业实战(Jenkins+GitLab+SonarQube)_02_Jenkins运行

Jenkins怎样运行? 文章目录一、Jenkins怎样在Windows运行?1. 找到下载的本地jenkins.war的目录,cmd进入命令行,执行:2. jenkins启动成功后,浏览器访问:localhost:8080二、Jenkins怎样在Linux运行…

Windows OpenGL ES 图像褐色

目录 一.OpenGL ES 图像褐色 1.原始图片2.效果演示 二.OpenGL ES 图像褐色源码下载三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效 零基础 OpenGL E…

要闻君说:国内首个5G电话由中国移动在京被打通!360公司转让奇安信股权;腾讯宣布开源三大开发工具 ,紧追技术共享步伐;...

关注并标星星CSDN云计算极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!每周三次,打卡即read更快、更全了解泛云圈精彩newsgo go go OPPO技术开放日第三期&#…

qt编译器5.12.3怎么一次性删除所有的断点

自己尝试出来的一个可以一次性删除所有断点的方法,可能还有其它方法,知者望以告知。 方法: 在debug模式下,进行调试运行,此时会出现调试的箭头,方框之类的一栏,如下图,在横向紧挨着的…

Linux操作系统需要做的准备

Linux操作系统需要做的准备 1. 确定IP地址2. 确认登录用户名密码3. 查看/启动ssh服务4. 确认可以远程连接5. 确认防火墙处于关闭状态 1. 确定IP地址 ifconfig2. 确认登录用户名密码 账号:root 秘钥:1234563. 查看/启动ssh服务 检查ssh服务是否启动 …