1

我从 3 个学期开始学习计算机科学,我们刚开始使用 openGl 1.0。我们正在做非常基础的工作(api 背后的数学)。

讲座分为 4 个部分,为期 4 个学期。

现在我真的很想在听这个讲座的时候读一本书,但我不确定我应该读哪本书。

我应该买一本 opengl 1 还是 opengl 3+ 的书?

还是我应该等到我们从 opengl3 开始,同时阅读一本关于数学的书,诸如此类

4

2 回答 2

5

旧版本的 OpenGL 用于学习 3D 图形没有任何问题。C 编程语言已有 40 年的历史,Lisp 甚至更久,但它们仍然具有相关性。我确实认为至少使用 OpenGL 1.3 或 2.0/2.1 是很重要的,因为与大多数软件一样,OpenGL 1.0 有一些可怕的地方很快在以后的版本中得到修复。

使用 OpenGL 1.x 或 2.x,您将学习 3D 图形的基础知识:多边形几何、嵌套变换、灯光和材质、纹理映射。使用 OpenGL 1 或 2 比使用 3 或 4 更容易学习,因为 OpenGL 1/2 中有更多的内置功能以及多年的书籍和在线教程作为指导。

阅读书籍:“红皮书”OpenGL 编程指南,最好是较旧的第 3 版或第 4 版;或 OpenGL SuperBible,同样是第 2 版或第 3 版。您还可以查看优秀的 NeHe 网络教程 - 对于 OpenGL 1/2,这些现在称为“旧版教程”。对于 3D 图形背后的数学,我推荐 Dunn & Parberry 的 3D Math Primer for Graphics and Game Development。

你在 OpenGL 1.x 中没有得到的是现代 GPU 的着色器。一旦你掌握了基础知识,你就可以从 OpenGL 2 中的顶点和片段着色器开始。一旦你对这些感到满意,就开始为 OpenGL 4 编程。(我建议跳过 3 直接进入 OpenGL 4 / DirectX 11.)

这是假设您想自上而下学习,从为您完成大部分工作的内置 API 函数开始,然后逐渐进入更多细节。相反,如果您更愿意深入研究,则需要 OpenGL SuperBible 第 5 版和带有 OpenGL 4 的现代 GPU。这不是我喜欢的方法,因为恕我直言 OpenGL 3/4 是“3D 汇编语言”和学习曲线非常陡峭,但有些人确实喜欢它。

希望这可以帮助。

于 2012-12-10T00:30:50.237 回答
2

OpenGL-1.0 – 哇,已经有 20 多年的历史了。或者你的意思是OpenGL-1.1,仍然超过15岁。无论如何,请告诉您的教授或助教将来教一些有用的东西;您可能不在计算机图形古生物学课程中。

您绝对应该学习 OpenGL-3 及更多。版本 3 确实引入了早该进行的 API 清理,而且从长远来看,所有事情都必须使用着色器的要求实际上使事情变得更容易。

于 2012-12-09T21:06:38.220 回答