glTranslate / rotate / scale vs Matrices in uniform

时间:2014-02-20 01:16:14

标签: java opengl glsl lwjgl

我正在开发3D游戏引擎,我一直在使用带有mat4制服的着色器将转换信息和相机信息发送到管道。我在网上看过一些例子,人们一直只使用glTranslatef(),glRotatef等类似的东西。哪种方法最受欢迎?

2 个答案:

答案 0 :(得分:1)

你最好在着色器中使用制服,因为像glTranslatef()glRotatef()等函数是所谓的“固定功能管道”的一部分。现代OpenGL中不推荐使用固定功能管道,这意味着使用它的代码不适用于较新版本的OpenGL和OpenGL ES。讨论了here的含义。

答案 1 :(得分:0)

上面的答案确实是正确的,说实话,我认为使用旧系统的最大缺点是它不够灵活,你不能用着色器做很多有趣的事情。新的管道就是允许程序员访问控制通过GPU发送的数据的着色器,因此,新的“标准”要求你自己完成所有硬件。除了实际上光栅化顶点当然!