我应该学些什么?OpenGL 4.1还是OpenGL ES 2.0?
我将使用Qt开发桌面应用程序,但我也可能在几个月后开始开发移动应用程序。我对3D、3D数学等一无所知,我宁愿花100美元买一本好书,也不愿花一周的时间去挖掘网站和反复试验。
据我所知,OpenGL 4.1的一个问题是还没有书(最近的书是关于OpenGL 3.3或4.0的),而有关于OpenGL ES 2.0的书。
另一方面,从我天真的角度来看,OpenGL 4.1似乎是OpenGL ES 2.0 +的补充,所以看起来更容易/更好的方法是先学习OpenGL ES 2.0,然后再学习着色器语言,等等
请不要告诉我使用NeHe (人们普遍认为它充满了坏的/旧的实践),榴莲教程,等等。
谢谢
发布于 2011-01-27 20:03:42
是的,一定要从OpenGL ES 2.0开始。实际上,我会说从WebGL开始(它几乎类似于OpenGL ES2.0)。here上的公共维基是一个很好的起点。关于WebGL的好处是,你不必处理编译/链接之类的事情,而且你避免了很多样板代码来设置很多东西。所以你可以专注于实际的绘图(这才是真正有趣的地方:)。如果你有一本OpenGL ES2.0的书,它应该仍然可以很好地映射到WebGL。
此外,repository中有很多演示程序,您可以立即运行它们(然后单击浏览器的“查看源代码”直接跳转到代码中)。从简单的开始: image-texture-test,Colored,Textured
这些示例,再加上您的OpenGL ES2.0书籍,应该可以让您立即入门。玩得开心!
编辑:我可能还应该指出,如果你决定选择OpenGL 4.1路线,你可能不需要等待OpenGL 4.1的书。一本OpenGL 3.3或4.0的书就可以了。
发布于 2011-01-28 15:20:27
OpenGL版本通常会在之前的版本中添加新的功能,所以我想说学习OpenGL 4.1实际上就是学习OpenGL 3.0,因为基础是相同的,特别是如果你开始3d编程的话。
OpenGL ES 2.0是OpenGL 3.x的一个子集。
考虑到这些“事实”,我想说学习OpenGL 3+或OpenGL ES 2+大致相同,但在细节上有所不同。
请注意,根据您的桌面平台(操作系统、显卡),您可能无法访问OpenGL 3实施。
在桌面上实施OpenGL ES 2也可能不可用。
Shezan Baig建议开始使用WebGL可能会对你有所帮助,因为它委托了OpenGL初始化。浏览器的问题-一些人甚至使用implement WebGL over DirectX来提高其可用性。
我的建议是,在你学习的同时,你应该专注于3d原理、算法和数学。这是最难做到的。实现“细节”与OpenGL (ES或非ES)或DirectX或其他任何东西没有太大区别。
更准确地说,我建议您从最熟悉的编程语言开始。我使用这种语言的OpenGL 1.x/2.x :这些旧版本的GL包含很多辅助函数(glBegin/glVertex/glEnd;glMultMatrix等)。在3.x+中被“弃用”的。使用这些,你将在测试算法时更加“高效”。
3d编程有很多东西,你可以找到已经成为freely available的参考书,并选择对你的用例感兴趣的信息。
发布于 2011-11-18 05:44:16
是的,使用GLES2。
1)可移植。
2)即使对于PC来说,也要遵循GLES2的方式。(除非您的高级和需要GL3/4功能)。
3)你想使用着色器period和GLES2来学习正确的方法。
请记住,OpenGL在windows上很糟糕。司机通常都是垃圾。以上网本为例,它支持HLSL2.0,但不支持GLSL着色器,只运行GL-1.3
https://stackoverflow.com/questions/4815805
复制相似问题