在哪里可以找到不使用任何已弃用功能的优秀在线 OpenGL 3.0 教程?
我刚刚购买了第五版 OpenGL SuperBible。我很高兴他们避免使用已弃用的功能,但他们的示例使用了 GLTools。 GLTools 提供了大量有用的函数,用于渲染简单的 3D 对象以及管理视锥体、相机和变换矩阵。
这一切都很棒,但提供的抽象隐藏了低级细节,并且我很难转移到无法使用 GLTools 的代码 - 例如 pyopengl 。我在网上看到的绝大多数教程都使用即时模式,我试图避免这种模式。那些使用 glDrawArrays
的人会使用 glEnableClientState
,我也试图避免这种情况。
我正在寻找的是完全符合 OpenGL 3.x 的入门教程。如果这个要求太高,也许可以列出一份好的“起点”功能清单。
I just purchased the fifth edition of the OpenGL SuperBible. I'm very pleased that they've avoided using deprecated functionality but their examples make use of GLTools
. GLTools
provides a slew of useful functions for rendering simple 3D objects and managing the view frustrum, camera, and transformation matrices.
This is all great but the abstraction provided hides low-level details and I'm having difficulty moving to code where I can't use GLTools
-- for example, pyopengl
. The vast majority of tutorials I've seen online make use of immediate mode, which I'm trying to avoid. Those that use glDrawArrays
make use of glEnableClientState
, which I'm also trying to avoid.
What I'm looking for is introductory tutorials that are fully OpenGL 3.x compliant. If that's too tall of an order, perhaps a laundry list good "starting point" functions would be in order.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
远离 NeHe,这些教程已经过时了,而且还包含很多“有问题”的东西。
从 3.x 开始,请尝试这些,它们都是最新的:
Aurian (Joe Groff)
Arcsynthesis (Jason L. McKesson)
更新:
差不多两年后重读我自己的文章,我想人们可能会觉得这听起来有点刺耳。
这当然不是本意。我想传达的核心信息(仍然有效)是 NeHe 仍然处理 OpenGL 1.x/2.x 并使用一些不受支持的“古董”库。
一般来说,这并不意味着教程一定很糟糕,但从那里开始将意味着落后当前最先进技术两代,并且落后至少一代应该学习。稍后学习旧版 OpenGL 将要求您忘记几乎所有您所知道的内容并从头开始重新学习。
也就是说,NeHe 首页现在链接到由 Damien Mabin 编写的专注于 OpenGL 3.3 的教程,该教程看起来相当不错第一眼看到(尽管我在新年之前没有时间彻底读完它)。
Stay away from NeHe, the tutorials are hopelessly outdated and contain a lot of "problematic" stuff, too.
For starting with 3.x, try those, they're both up-to-date:
Aurian (Joe Groff)
Arcsynthesis (Jason L. McKesson)
Update:
Re-reading my own post almost 2 years later, I guess that one might find that it sounds a bit harsh.
This is of course not the intent. The core message (which remains valid) that I wanted to give was that NeHe still deals with OpenGL 1.x/2.x and uses some unsupported "antique" libraries.
Generally, as such, this does not mean the tutorials are necessarily bad, but starting from there will mean starting two generations behind the current state-of-the-art, and one generation behind the minimum one should learn. Learning legacy OpenGL will, at a later time, require you to forget almost everything you know and re-learn from scratch.
That said, the NeHe front page now links to a tutorial focussed on OpenGL 3.3 by Damien Mabin, which looks quite nice at first sight (though I will not have time to thoroughly read through it before new year).
https://bitbucket.org/rndblnch/opengl-programmable
OpenGL 的简短分步教程可编程管道(OpenGL / OpenGL|ES 2.x),适合已经熟悉固定管道的人。依赖项:python 2.5+、PyOpenGL 3.0.1+
一个小型但相当完整的 glut/opengl 程序的连续版本,该程序从直接模式开始,并逐步转换为专门在可编程管道上运行。
查看连续版本之间的差异,以突出显示所需的更改(例如,https:/ /bitbucket.org/rndblnch/opengl-programmable/changeset/b21131e37ed7)。
https://bitbucket.org/rndblnch/opengl-programmable
a short step by step tutorial to OpenGL programmable pipeline (OpenGL / OpenGL|ES 2.x) for people already familiar with the fixed pipeline. dependencies: python 2.5+, PyOpenGL 3.0.1+
Successive versions of a small but rather complete glut/opengl program that starts from direct mode and is transformed step by step to run exclusively on the programmable pipeline.
Look at the diffs between successive version to have an highlight of the changes needed (e.g., https://bitbucket.org/rndblnch/opengl-programmable/changeset/b21131e37ed7).
这是一系列适用于 Windows 的 OpenGL 3.3 教程,不使用任何已弃用的功能,仅使用新内容:
兆字节软件 OpenGL 3.3 教程
Here is a serie of OpenGL 3.3 tutorials for Windows, that doesn't use any of deprecated functionality, only new stuff:
Megabyte Softworks OpenGL 3.3 Tutorials