Jac*_*ack 9 java opengl graphics
几年前,我用OpenGL2.1编写了许多使用基本功能(主要是立即模式)而不关心整个着色器方法的演示.
现在我再次需要OpenGL用于个人项目,从我正在阅读的这种API的整个方法发生变化,因为现在几乎所有内容都是由GPU通过顶点/像素着色器直接创建的.
我想知道实际的最新技术(我的意思是开发效率和结果)与我使用的OpenGL相比有哪些主要差异.
是否存在任何关于谁来自旧方法的教程?我是否应该放弃手工应用变换,绘图等的旧想法glBegin..glEnd?
由于我正在使用Java,我想使用一个好的库,你有什么建议吗?我发现LWJGL似乎也很好,如果一切都已经管理好了,我想知道是否值得使用它,或者只是根据需要坚持一些更重要的写作组件(比如数学相关对象).
旧的即时模式和新的做事方式之间的差异非常大.令人惊讶的是,没有那么多好的内容,你可以忽略99%的网络OpenGL教程.
LWJGL的积极之处在于,一旦您理解了LWJGL与常规OpenGL调用之间的差异,您通常可以使用其他语言的教程.
我能找到的唯一3个好资源是:
"对现代OpenGL的介绍" http://duriansoftware.com/joe/An-intro-to-modern-OpenGL.-Table-of-Contents.html(这是一个很棒的介绍,但遗憾的是还没有一个新的教程很长一段时间)
OpenGL Superbible第五版(这是唯一一本涵盖新的工作方式的书,对于任何重返OpenGL的人来说都是必须的)http://www.amazon.com/OpenGL-SuperBible-Comprehensive-Tutorial-Reference/DP/0321712617
Java Monkey Engine使用LWJGL作为它唯一完全支持的渲染器(上次我检查过),浏览它的源代码是LWJGL的引擎设计教育http://www.jmonkeyengine.com/
此外,LWJGL很棒.它不会给你更高级别的抽象,因为它只是一个围绕C调用的薄包装(但这也意味着它不会在尝试制作OpenGL OO时做一个平庸的工作),而且它的性能非常好.LWJGL没有提供很多(甚至数学),所以你很可能需要获得(或作为最后的手段)数学库来处理复杂的事情.