如何用我自己的4x4矩阵更新opengl modelview矩阵?
我有4x4矩阵用于对象的变换如何用我自己的4x4矩阵更新opengl modelview矩阵?,opengl,matrix,3d,matrix-multiplication,Opengl,Matrix,3d,Matrix Multiplication,我有4x4矩阵用于对象的变换 float mat44[16]; 但我不知道如何使用我的矩阵更新OpenGL ModelView矩阵。我应该将glTranslatef()/glRotatef()与矩阵中的相关值一起使用,还是应该使用glLoadMatrix()、glMultMatrix()?请帮忙。谢谢。如果您想将您的转换应用到OpenGL矩阵堆栈中已经存在的当前转换,那么您应该写: glMultMatrixf(mat44); glLoadMatrixf(mat44); 但是,如果您想放弃O
float mat44[16];
但我不知道如何使用我的矩阵更新OpenGL ModelView矩阵。我应该将glTranslatef()/glRotatef()与矩阵中的相关值一起使用,还是应该使用glLoadMatrix()、glMultMatrix()?请帮忙。谢谢。如果您想将您的转换应用到OpenGL矩阵堆栈中已经存在的当前转换,那么您应该写:
glMultMatrixf(mat44);
glLoadMatrixf(mat44);
但是,如果您想放弃OpenGL矩阵堆栈上当前的内容并使用自己的转换,那么您应该编写:
glMultMatrixf(mat44);
glLoadMatrixf(mat44);
对于OpenGL-2.1和更早版本,根据手头的任务使用glLoadMatrix或glMultMatrix
对于OpenGL-3和更高版本,使用
glUniformMatrix
变体之一将它们设置为着色器的正确统一体。您使用的OpenGL版本是什么?