opengl矩阵乘法

时间:2012-04-27 01:50:02

标签: c++ opengl matrix

如果我在C的OpenGL中有一个当前矩阵,我应用以下代码:

   glMultMatrixf(M);
   glMultMatrixf(M2);

当前转换矩阵是什么样的?在红皮书中,它指出使用glMultMatrix *(M)可以做到这一点:CM。但是,做到这一点也会发生这种情况:M(M2v)其中M2在M之前被应用。在这种情况下,M将是左操作数,但在前M中是右操作数。

1 个答案:

答案 0 :(得分:4)

如果你这样做;

glLoadIdentity();
glMultMatrixf(M1);
glMultMatrixf(M2);
glMultMatrixf(M3);

然后得到的矩阵是M = M1 * M2 * M3;

如果您对此应用顶点v,则会将其乘以:v' = M*v = M1*M2*M3*v

我真的不明白你的困惑,你所指的'前案例'是什么?