如何学习OpenGL 3.0?

5

有没有一本关注OpenGL 3.0可编程方面的好书?

我想要像《OpenGL超级圣经》那样的东西,但是只关注“新约”部分——可编程而不是固定管线。

5个回答

5
最新的OpenGL SuperBible第五版仅关注核心配置文件。不幸的是,它包含了自己的gltools库,因此该书的大部分开头实际上更多地是教授这个工具包,而不是核心配置文件本身。当然,它涵盖了现代opengl程序的基本整体布局,并似乎稍后填补了更难的东西。但随着进展,你似乎在重新实现拐杖库。
OpenGL编程指南(红皮书)第七版,不幸的是似乎已经过时了。他们标记了所有兼容性配置文件中的内容,而不是核心配置文件。
2012年12月发布了第八版,据说是一篇教授现代方法的重写版本。
实际上,最好先学习兼容性配置文件/OpenGL 2.1的特定领域,然后将它们全部组合成核心配置文件。一次性做太多只会让人感到太多压力。
  • 首先学习顶点缓冲对象(并放弃glBegin/glEnd以及它们之间的任何东西)。

  • 学习手动矩阵操作和堆栈,或者使用适当的库(放弃glPushMatrix/glTranslate/glRotate/glOrthagonal/gluLookAt/glFrustum,你可能需要在这个阶段使用一些兼容性内容来绑定手动处理的矩阵,但是你可以在下一步着色器中放弃它们)。

  • 学习顶点和片元着色器。

  • 学习如何将OpenGL上下文设置为3.1+(取决于你的窗口系统)。



2

1

如果你想要一本更短、更简单的OpenGL书籍,只涵盖可编程管线,我建议你阅读OpenGL ES 2.0 Programming Guide。OpenGL ES 2是OpenGL的子集,为嵌入式系统提供了更简单的实现方式。在大多数情况下,当有多种方法可以完成同一个OpenGL任务时,OpenGL ES标准只包含其中一种方法。OpenGL ES的第二个版本是针对可编程硬件的,因此仅包括可编程管线相关内容。由于OpenGL ES是OpenGL的子集,因此OpenGL ES中的所有内容都适用于OpenGL实现。相比之下,“OpenGL Programming Guide”长达936页,而“OpenGL ES 2.0 Programming Guide”仅有480页。


0

当我学习OpenGL时,"The Red Book" 是那本书,但那已经是很久以前的事了,你需要去了解它们是否一直更新到v3。


3
V3 的完成情况不是很好。 - anon
@anon:嗯,为什么?《红皮书》有什么问题吗? - Stefan Monov
2
他们只是将传统的东西标记为这样,但实际上并没有改变书本教授它的重点。 - bames53
1
几个月后将发布第八版,据说这是一次重写,教授现代OpenGL方法。 - David C. Bishop

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接