2012-02-01 127 views
8

我有用于对象转换的4x4矩阵。如何用我自己的4x4矩阵更新opengl模型视图矩阵?

float mat44[16]; 

但我不知道如何使用我的矩阵更新OpenGL ModelView矩阵。我应该使用的glTranslatef()/ glRotatef()的初步认识值从我的矩阵或者我应该使用glLoadMatrix(),glMultMatrix()?请帮助。谢谢。

+0

你用什么版本的OpenGL? – 2012-04-27 18:57:11

回答

20

如果你想申请的改造,目前改造已经在OpenGL的矩阵堆栈,那么你应该写:

glMultMatrixf(mat44); 

但是,如果你要放弃目前什么是OpenGL的矩阵堆栈的顶部,并使用自己的转型,那么你应该写:

glLoadMatrixf(mat44); 
2

对于OpenGL的2.1和更早的使用glLoadMatrix或glMultMatrix,根据手头的任务。

对OpenGL-3和以后将它们设置为使用glUniformMatrix变种之一着色器正确的统一。