分割线:OpenGL3.0。

3.0之前,所有OpenGL版本都与早期版本完全向后兼容。针对OpenGL 1.1编写的代码可以在OpenGL 2.1实现中很好地执行。

3.0,引入了废弃functionality的想法。许多OpenGL函数被声明为已弃用,这意味着用户应避免使用它们,因为它们可能会从更高版本的API中删除。

3.1,OpenGL 3.1删除了OpenGL 3.0中几乎弃用的所有功能。这包括固定功能管道。

但是,由于许多实现仍然支持那些不推荐使用和已删除的功能,因此某些实现希望能够为更高GL版本的用户提供一种访问旧API的方式。尝试了几种技术,最终将其分为core和compatibility上下文。

具体说就是,引入了新的扩展名ARB_compatibility。此扩展的存在向用户发出信号,表明已弃用或删除的功能仍然可以通过原始入口点和枚举使用。此种实现的行为由单独的,更大的OpenGL规范定义。因此,存在一个向后兼容的规范和一个非向后兼容的规范。(此时并不存在profile:core&compatibility,只是有这么一个规范)

3.2,OpenGL被分为core和compatibility两种配置文件(profile)。核心只需要一种实现来定义,所以并不能保证可获得compatibility。但是大多数实现中,compatibility配置文件是可获得的。

3.2还引入了新的上下文创建机制,可以返回不同版本的上下文。

旧版OpenGL:在2008年,发布了OpenGL规范的3.0版。在此修订版中,固定函数管道以及大多数相关的OpenGL函数和常量已声明为弃用。这些不推荐使用的元素和概念现在通常称为旧式OpenGL。

以上参考:

旧版OpenGL

OpenGL上下文

与此相关的问题:

1.在GLAD中,为什么没有glBegin?

把core切换成compatibility即可。

2.glBegin在哪个版本被废弃?

  3.为什么新版OpenGL的core模式强制使用VAO?而VBO和IBO不能直接渲染?

The compatibility OpenGL profile makes VAO object 0 a default object. The core OpenGL profile makes VAO object 0 not an object at all. So if VAO 0 is bound in the core profile, you should not call any function that modifies VAO state. This includes binding the `GL_ELEMENT_ARRAY_BUFFER` with glBindBuffer.

参考:Vertex Specification

4.VAO出现在哪个版本?

3.0。可从API中查找函数glGenVertexArrays对应的版本号。

  5.哪个版本强制使用了VAO?

3.2的core模式。

6.GLFW+GLAD,如何不使用VAO,而仅使用VBO和IBO进行渲染?

方法有二:

1)设置3.1及以前的版本。

2)设置3.2及以后的版本,并设置glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_COMPAT_PROFILE);向后兼容。

    7.避免使用旧版OpenGL的原因。

参考:旧版OpenGL

  8.自Ope​​nGL 2.0以来的大多数硬件都缺少实际的固定功能硬件。而是使用系统构建的着色器模拟固定功能的过程。

参考:固定功能管道

9.固定渲染管线与立即渲染模式关系。

两者是一个东西。参考:核心模式与立即渲染模式

10.既然OpenGL 4.6 都出来了,为什么我们还要学习OpenGL 3.3?

所有OpenGL的更高的版本都是在3.3的基础上,引入了额外的功能,并没有改动核心架构。新版本只是引入了一些更有效率或更有用的方式去完成同样的功能。

详见核心模式与立即渲染模式

11.立即模式(immediate mode) 与 保留模式(retained-mode)。

参考:

What does “immediate mode” mean in OpenGL?

Immediate mode

Retained mode

旧版OpenGL 与 新版OpenGL相关推荐

  1. 微信7.0版本与旧版更新对比 新版微信7.0版更新了什么

    微信7.0版本与旧版更新对比 新版微信7.0版更新了什么 微信发布了最新版微信7.0版本,变化比较大.微信7.0版更新了什么?微信7.0版本与旧版什么区别. 微信7.0版本更新了什么? 微信7.0版本 ...

  2. HIVE: 自定义TextInputFormat (旧版MapReduceAPI ok, 新版MapReduceAPI实现有BUG?)

    我们的输入文件 hello0, 内容如下: xiaowang 28 shanghai@_@zhangsan 38 beijing@_@someone 100 unknown 逻辑上有3条记录, 它们以 ...

  3. 【Python】Windows:PyCharm 旧版卸载与新版安装汉化参考(专业版试用期/社区版)

    目录 一.PyCharm 2019.1.2 旧版卸载 (1)旧版备份 (2)旧版卸载 (3)旧版安装文件删除 (4)hosts 文件修改 (5)旧版环境变量修改 (6)注册表删除 二.PyCharm  ...

  4. [JIRA] 从3.6.2旧版升级到新版6.0.8的详细过程

    前言: JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪.客户服务.需求收集.流程审批.任务跟踪.项目跟踪和敏捷管理等工作领域. 公司原来用的是JIRA 3.6.2版本, ...

  5. 计算机书籍旧版好还是新版好,新固件还不如老版本好用?教你如何禁止Kindle自动更新!...

    新固件还不如老版本好用?教你如何禁止Kindle自动更新! 2020-02-21 21:35:41 2点赞 25收藏 1评论 固件更新是对Kindle的一次升级,一般来说,静读君是希望大家积极更新的, ...

  6. 图标出问题_同是Office365,为什么你的软件图标还是旧版的?

    为什么你的office365套件最新版的图标还是旧版? 是新版图标还没向正式版用户推送吗? 我的office365的账号有问题吗? 难道是我打开的方式不对吗? 旧版图标 新版图标 打开产品信息一看你的 ...

  7. win10图标变白纸_同是Office365,为什么你的软件图标还是旧版的?

    为什么你的office365套件最新版的图标还是旧版? 是新版图标还没向正式版用户推送吗? 我的office365的账号有问题吗? 难道是我打开的方式不对吗? 旧版图标 新版图标 打开产品信息一看你的 ...

  8. OpenGL 关于旧版glut和新版本glfw和glad的环境配置

    目录 一.OpenGL的环境: 1.OpenGL 2.gult:OpenGL工具库 OpenGL Utility Toolkit 3.glew 4.glfw 5.glad(2018.9) 二.旧版本 ...

  9. 弹性盒模型--新版与旧版比较(2)

    弹性空间与元素具体位置设置是加在子元素身上的 <style> body{ margin: 0; } #box{ height: 300px; border: 1px solid #000; ...

最新文章

  1. innerHTML outerHTML innerText
  2. Nmap参数--指纹识别探测
  3. 机器学习-Stacking方法的原理及实现
  4. Classes in JScript – Part III 类的继承与封装
  5. 前端学习(1109):函数的调用
  6. vue-resource安装
  7. 计算机是如何启动的?从未上电到操作系统启动
  8. f3arra1n3.4.1版本_Sysmon v11.1新版本功能测试报告
  9. Linux内核深入理解定时器和时间管理(1):硬件时钟和jiffies
  10. Microsoft Updater Application Block 1.2.1 核心设计(core design) [翻译]
  11. libstdc和glibc的一些共享库问题
  12. 为地图marker 设置网络图片
  13. Fast Global Registration
  14. windows自带截图工具快捷方法
  15. 网页设计基础(HTML)
  16. (前端)HTML之CSS(选择器字体排版背景)
  17. TikTok独立站推广教程
  18. Windows载图软件 FastStone Capturev9.6
  19. 算法题思路总结和leecode继续历程
  20. 杀人游戏-约瑟夫问题

热门文章

  1. 计算机专业英语词组,[计算机专业英语词组.doc
  2. windows 通过 Xshell 传文件到 Linux
  3. clipper运行以及使用——轻松一刻
  4. 史上最全Apidoc文档生成详解
  5. Python爬虫(上)
  6. 农行网上在线支付平台接口安装详解
  7. Python2 中文编码
  8. matlab图像压缩像素编码,基于DCT的图像压缩编码算法的MATLAB实现
  9. PHP中magic_quotes_gpc和magic_quotes_runtime的区别、作用和用法
  10. 科学计算机可以带上飞机吗,笔记本电脑可以随身带上飞机吗