【问题标题】:Beginning OpenGL 3.0+ Programming (again) in OS X, targeting multiple platforms在 OS X 中开始 OpenGL 3.0+ 编程(再次),针对多个平台
【发布时间】:2023-04-08 20:24:01
【问题描述】:

如果此主题重复,对不起,我无法在任何地方找到我要询问的信息。

我开始学习 OpenGL,几年前我什至使用 OpenGL ES 1.1 为 iOS 制作了一个非常简单的游戏。但是,我已经放弃了它,转而支持其他项目。我检查的最后一个 OpenGL 版本是 2.1,坦率地说,我只是检查了它,并没有给予太多关注,然后就放弃了我的全职 iOS 工作。

现在,我想重新拿起它。不过我手上的书涵盖了OpenGL 2.5(红皮书)、OpenGL ES 2.0(我没机会打开)和OpenGL Shading language(不记得是哪一本了,但我同时买的)我买了红皮书)。我读过 OpenGL 3.0 及更高版本极大地改变了渲染管道,使其完全可编程,这就是为什么它放弃了对旧功能的支持,也摆脱了过时和臃肿的功能。

我有两台运行 OS X 10.7.4 的计算机、一台运行 GeForce 9400M 的 Macbook 和一台运行 ATI Radeon HD 6750 Mobility 的 iMac,我认为这两种计算机都符合 OpenGL 3.0(至少在大多数功能方面)。

提供所有这些信息,这是我的主要问题:

  1. OpenGL 3.0+ 有什么好的入门教程吗?
  2. 在 OpenGL 3.0 + for OS X 中是否有任何好的启动教程?我能找到的只是固定管道的过时教程
  3. 由于 OpenGL 流水线的转变,我已经拥有的书籍是否会对我有所帮助,或者我是否需要购买它们的最新版本?
  4. 我有什么误解或遗漏的地方吗?

我的目标主要是 OS X、iOS 和 Android,因此我对特定于平台的资源和信息不感兴趣。我知道每个平台都有自己的 OpenGL API 实现和扩展,但我希望尽可能独立于平台。我没有在我的问题中指定任何语言,因为我精通 C/C++/ObjC 并且 Android OpenGL Java 实现与我听到的没有什么不同。

时间不是问题,我的数学/编程技能也不是问题。而且我也不想在学习 OpenGL 的基础知识之前学习如何使用 OpenGL 周围的任何包装器/框架。

提前感谢您就此事向我提供的所有信息和指导。

【问题讨论】:

  • 请注意,如果您也要迁移到 Android,您应该考虑使用 OpenGL ES 2.0,因为它还不支持 3.0。我会发一个完整的帖子,但我认为我没有您要查找的所有信息。
  • OpenGL 标准现在达到 4.x。您询问的所有信息都可以在 opengl.org 上找到。 iOS 和 Android 使用 OpenGL ES,这是与为移动或嵌入式设备设计的 OpenGL 完全不同的标准。 OpenGL 3.x 的任何内容都不会真正帮助您使用 iOS 或 Android,除了可编程管道,但细节有所不同。

标签: android ios macos graphics opengl-3


【解决方案1】:

问题3的答案:

Aaftab Munshi 的OpenGL ES 2.0 Programming Guide 是一本关于 OpenGL ES 2.0 的优秀书籍。由于 OpenGL ES 2.0 大致是 OpenGL 3.0+ 的一个子集,这本书可能对 OpenGL 3.0+ 开发人员也很有用。

没有关于 OpenGL 3.0+ 的真正好书。目前可用的 OpenGL 红皮书版本主要关注旧式不推荐使用的 OpenGL 编程,不推荐使用。 OpenGL 红皮书的new edition 将于 2013 年 1 月发布 使用 85% 的新材料并专注于现代 OpenGL 编程。等到那个时候再看红皮书。

【讨论】:

  • +1 用于提及弃用 OpenGL 红皮书的编程风格。谢谢。如果没有人回答得更充分,我会将其标记为已接受的答案。顺便说一句,对我的问题的评论提到 OpenGL 3.0 在很大程度上与 OpenGL ES 2.0 无关。但是,您提到它们是相关的。你能提供一些资料或例子吗?我最感兴趣的学习是看看学习桌面OpenGL 3.0+是否也能为我提供可用于移动开发的知识。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多