osg中的向量是行向量,矩阵相应也是与行向量对应
v*M
矩阵最后一行对应的是平移,其它行列对应旋转和缩放,对角线元素值对应缩放值
inline void Matrixd::preMultTranslate( const Vec3d& v )
{
for (unsigned i = 0; i < 3; ++i)
{
double tmp = v[i];
if (tmp == 0)
continue;
_mat[3][0] += tmp*_mat[i][0];
_mat[3][1] += tmp*_mat[i][1];
_mat[3][2] += tmp*_mat[i][2];
_mat[3][3] += tmp*_mat[i][3];
}
}
opengl中的向量是列向量
M*v