嗨,我是学生,整个夏天我借用了OpenGL编程指南,版本4.3,这是我的大学似乎在主库中唯一的版本.
我已经对使用OpenGL与SFML,SDL和过剩有所了解.我借了这本书来帮助我扩展我的知识.
不幸的是,我发现4.3这本书非常重,难以理解.我确信我读过一本类似的书(旧版本,曾经被称为"红皮书")并且发现它更容易理解.
我能够借用2.1版本书,我很确定这是我读过的那本书.到目前为止,我发现它更容易遵循.它肯定更适合非专家和经验较少的人.
这可能是一种接收不良的问题,并被投票结束,但请不要这样做 - 我想回答我的问题.我认为这是一个编程问题,对我这样的人有帮助.正如我稍后解释的那样,我希望购买第2版或第2.1版的书,并希望得到一些建议.
基本上我想知道OpenGL Version 2和Version 2.1之间的主要区别.据我所知,有一本关于版本1.0或类似的书,然后是2.0,2.1,然后是3或3.5或者其他什么.为什么有一本全新的版本增量为0.1的书:从版本2.0到2.1.我假设在2.1版本中添加了一些重大更改或添加了扩展和功能?
问的原因是我非常喜欢这本书(2.1版),我想我应该买它!(疯狂,没有?)无论如何,我想知道版本2.1中有什么额外的东西,或者已经改变了什么,所以我可以决定是否花费额外的东西是值得的.
这可能不是你希望的答案,但是:不要费心学习OGL <3.0.所有OpenGL都有详细记录,您需要知道的一切都可以在互联网上找到.另请注意,红皮书在互联网上完全免费,至少是相关部分(据我所知).无论如何,它主要关注旧的,已弃用的功能,我不认为它值得再读.
OpenGL 3.0引入了弃用机制,因此大多数OpenGL 2.x功能都已弃用.这包括客户端内存,固定管道,内置照明计算等.OpenGL 2.x确实包括可编程管道功能和服务器端缓冲区,但我仍然强烈建议使用现代OGL.仅仅因为你不够谨慎.OpenGL 2.x邀请您使用较旧的功能,因为它非常容易使用,但可能是重罪.
可编程管道,服务器端缓冲区以及OpenGL 3.x及以上的所有商品可能很难学习.但是一旦你能够熟练地使用这些功能,你就会被它的力量所震撼.在你的评论中你提到了粒子,如果你能够使用变换反馈,计算着色器,几何着色器,实例化渲染等,那么实验粒子会更有趣.事实上,现代OpenGL非常适合较旧的OpenGL,它更快,更快,专为现代硬件而设计.
我不知道为什么每个小版本都有一本新书,人们对我认为的书籍上瘾.但OpenGL 3.x及以上确实值得一本新书.它与以前的API完全不同 - 至少它的用法是.现在我个人不喜欢书,但那只是我.了解OpenGL 3.x及其在互联网上的一个很好的起点是:
http://www.arcsynthesis.org/gltut/index.html
http://www.opengl-tutorial.org/
第一个链接是了解管道的重要来源,我强烈建议您阅读所有内容.我非常喜欢第二个链接,它有一系列关于一系列主题的小教程,它也是了解更复杂算法的一个很好的资源.第三个链接是一个更初学者风格的教程,以防您遇到困难.
此外,它还包含您可能想要的所有信息和详细文档,无论您将使用哪种来源,都要跟踪它:
http://www.opengl.org/wiki/Main_Page
你还提到你想在linux环境中进行实验.确保更新您的OpenGL驱动程序(实际上在任何操作系统上执行此操作).现在根据网站Mesa只支持OpenGL 3.1.我建议使用专有驱动程序,这样你就可以使用GPU提供的所有内容(就我个人而言,我使用AMD驱动程序在linux mint上运行OpenGL 4.2),这包括几何着色器,tesselation和类似的东西.
最后一点,OpenGL ES 2.0+更容易转换为更新的OpenGL版本.OpenGL ES 2.0+不使用固定管道,也不使用客户端内存等.并且类似的API在网络上运行,即使网络已经移动,所以你应该:P
现在走出去,开始OGL'in!
| 归档时间: |
|
| 查看次数: |
1129 次 |
| 最近记录: |