我刚买了第五版的OpenGL SuperBible。我很高兴他们避免使用已弃用的功能,但他们的示例使用了GLTools
。 GLTools
为渲染简单的3D对象和管理视图截头,相机和变换矩阵提供了大量有用的功能。
这一切都很棒,但提供的抽象隐藏了低级细节,我无法移动到无法使用GLTools
的代码 - 例如,pyopengl
。我在网上看到的绝大多数教程都使用了立即模式,我试图避免这种模式。那些使用glDrawArrays
的人会使用glEnableClientState
,我也试图避免这种情况。
我正在寻找的是完全符合OpenGL 3.x标准的入门教程。如果这个订单太高了,也许洗衣清单的好处是“起点”功能。
答案 0 :(得分:42)
远离NeHe,这些教程毫无希望地过时,并且包含许多“有问题”的内容。
从3.x开始,尝试这些,它们都是最新的:
Aurian(Joe Groff)
Arcsynthesis(Jason L. McKesson)
<强>更新强>
差不多2年后重读我自己的帖子,我想有人可能会发现它听起来有点刺耳。
这当然不是意图。我想提供的核心信息(仍然有效)是NeHe仍然处理OpenGL 1.x / 2.x并使用一些不受支持的“古董”库。
一般来说,这并不意味着教程必然是坏的,但从那里开始将意味着在当前最先进的技术背后开始两代,而在最小的一代背后的一代应该学习。学习遗留OpenGL将在以后要求您忘记几乎所有知识并从头开始重新学习。
那就是说,NeHe首页现在链接到Damien Mabin的一个tutorial focussed on OpenGL 3.3,看起来相当不错(虽然我没有时间在新的一年之前彻底阅读它。)
答案 1 :(得分:3)
https://bitbucket.org/rndblnch/opengl-programmable
为熟悉固定管道的人们提供OpenGL可编程管道(OpenGL / OpenGL | ES 2.x)的简短分步教程。依赖项:python 2.5 +,PyOpenGL 3.0.1 +
从直接模式开始并逐步转换为仅在可编程管道上运行的小型但相当完整的过剩/ opengl程序的连续版本。 查看连续版本之间的差异,以突出显示所需的更改(例如,https://bitbucket.org/rndblnch/opengl-programmable/changeset/b21131e37ed7)。
答案 2 :(得分:3)
以下是适用于Windows的OpenGL 3.3教程系列,它不使用任何已弃用的功能,只使用新功能: