如果我在C的OpenGL中有一个当前矩阵,我应用以下代码:
glMultMatrixf(M);
glMultMatrixf(M2);
当前转换矩阵是什么样的?在红皮书中,它指出使用glMultMatrix *(M)可以做到这一点:CM。但是,做到这一点也会发生这种情况:M(M2v)其中M2在M之前被应用。在这种情况下,M将是左操作数,但在前M中是右操作数。
答案 0 :(得分:4)
如果你这样做;
glLoadIdentity();
glMultMatrixf(M1);
glMultMatrixf(M2);
glMultMatrixf(M3);
然后得到的矩阵是M = M1 * M2 * M3;
如果您对此应用顶点v
,则会将其乘以:v' = M*v = M1*M2*M3*v
我真的不明白你的困惑,你所指的'前案例'是什么?