美文网首页
二、OpenGL标准库

二、OpenGL标准库

作者: 凉夜lrs | 来源:发表于2020-10-10 11:30 被阅读0次

窗口管理

老产品:GLUT/FREEGLUT
替代品:GLFW

GLUT太老了,且该项目已经被废弃。它的许可证禁止任何人发布修改后的库代码。
FREEGLUT完全兼容GLUT,是GLUT的代替品,开源,功能齐全。但是bug太多。稳定性也不好(不是我说的啊)。
GLFW是一个专门针对OpenGL的C语言库,它提供了一些渲染物体所需的最低限度的接口。它允许用户创建OpenGL上下文,定义窗口参数以及处理用户输入,这正是我们需要的。

函数加载

老产品:GLEW
替代品:GLAD

GLEW是一个基于OpenGL图形接口的跨平台的C++扩展库。GLEW能自动识别当前平台所支持的全部OpenGL高级扩展函数。只要包含glew.h头文件,就能使用gl,glu,glext,wgl,glx的全部函数。GLEW支持目前流行的各种操作系统。GLEW有一个缺陷是它并没有提供一种方式可以屏蔽OpenGL Legecy函数的调用,尽管可以使用Core profile的方式,但是代码中仍然存在 glVetex、glBegin这样固定管线OpenGL的函数调用(虽然它们在Core Profile模式下没有任何作用),看起来不那么统一。要做到这一点可以使用下面的GLAD。
GLAD并不是一个OpenGL的库,它是一个网络服务,提供了根据我们选择的OpenGL要求生成OpenGL的导出库的源码,可以访问它的网站:GLAD Service,进入之后想根据里面提供的选项,像选菜单一样选择需要的OpenGL 版本和Profile,之后点击生成便可生成对应版本OpenGL。这样做让glad.h中仅仅只包含我们想要扩展的头文件,例如在设置3.3 + CoreProfile版本之后,可以严格控制头文件中只有这些内容,所以凡是代码中有Legecy OpenGL的调用都会在编译的时候给出错误提示。

项目开发组合

  1. FREEGLUT+GLEW
  2. GLFW+GLEW
  3. GLFW+GLAD

其中组合1是经典,组合3比较新潮。

参考

https://blog.csdn.net/libaineu2004/article/details/105879521
https://blog.csdn.net/csxiaoshui/article/details/79032464

相关文章

  • 二、OpenGL标准库

    窗口管理 老产品:GLUT/FREEGLUT替代品:GLFW GLUT太老了,且该项目已经被废弃。它的许可证禁止任...

  • OpenGL ES 入门案例

    OpenGL ES 是OpenGL针对嵌入式系统设置的标准图形库。它是OpenGL的简化版。但是基本的渲染管线没...

  • OpenGL ES 入门案例

    OpenGL ES 是OpenGL针对嵌入式系统设置的标准图形库。它是OpenGL的简化版。但是基本的渲染管线没...

  • 关于OpenGL的一些记录

    OpenGL是一个3D图形标准,与硬件无关,独立于操作系统。 OpenGL的核心库和为 gl,用于常规的、核心的图...

  • OpenGL ES初探

    OpenGL ES 苹果官方文档 OpenGL ES 开放式图形库(OpenGL的)⽤用于可视化的⼆二维和三维数据...

  • OpenGL ES内容(1)

    OpenGL ES的简介 OpenGL ES开放式图形库(OpenGL的)⽤用于可视化的⼆二维和三维数据。它是⼀一...

  • openGL初识

    openGL / openGL ES openGL (open Graphics Library 开放式图形库)。...

  • 1-安装OpenGL-Windows10+Visual Stud

    OpenGL包括两个部分,OpenGL工具函数库(GLU)和OpenGL实用工具库(GLUT),幸运的的是Visu...

  • 八、OpenGL ES 初识

    Apple OpenGL ES documentationApple 的解释:这个开放图形库(OpenGL)用于可...

  • OpenGLES简单入门

    OpenGL 一、 基础概念 1. 简介 Android 可通过开放图形库 (OpenGL)(特别是 OpenGL...

网友评论

      本文标题:二、OpenGL标准库

      本文链接:https://www.haomeiwen.com/subject/kabdpktx.html