在OpenGL中转换模型视图矩阵的现代方法?

时间:2014-05-02 22:05:01

标签: java performance opengl matrix lwjgl

我最近开始学习OpenGL,从立即模式,glPush / PopMatrix和glTranslate / Rotate / Scale功能开始。我已切换到顶点缓冲区对象来存储几何体,但我仍然使用push / pop矩阵和转换函数。是否有更新,更有效的方法来执行这些操作?

我听说过glMultMatrix,但有些消息来源表示效率较低。

如果完全相关的话,我正在使用带有Java的LWJGL进行渲染。

编辑:有没有人知道调用glViewport和gluPerspective以及其他标准初始化函数对性能的影响?有人告诉我,通常每次更新都会调用这些初始化函数和渲染代码。

1 个答案:

答案 0 :(得分:2)

对于现代OpenGL,您希望编写一个顶点着色器,并将每个顶点乘以相应的变换矩阵。您将要传递所需的矩阵(可能是模型,视图和投影)。您可以根据需要在每个渲染过程中在CPU上计算这些矩阵。这意味着您不会需要gluPerspective。你可能只需要调用glViewport一次,除非你试图划分窗口并在每个部分中绘制不同的东西。但我不希望它会导致任何性能问题。您可以随时查看以查看。