Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果我在 C 的 OpenGL 中有一个当前矩阵,并且我应用以下代码:
glMultMatrixf(M); glMultMatrixf(M2);
当前变换矩阵是什么样的?在红皮书中,它指出使用 glMultMatrix*(M) 可以做到这一点:CM。但是,执行上述操作也会导致这种情况发生:M(M2v),其中 M2 在 M 之前应用。在这种情况下,M 将是左操作数,但在前 M 是右操作数。
如果你这样做;
glLoadIdentity(); glMultMatrixf(M1); glMultMatrixf(M2); glMultMatrixf(M3);
那么得到的矩阵是M = M1 * M2 * M3;
如果你应用一个顶点v,它会像这样相乘:v' = M*v = M1*M2*M3*v
v
v' = M*v = M1*M2*M3*v
不过,我不太了解您的困惑,您所指的“前案”是什么?