我想从我的变换中得到模型世界矩阵。
struct Transform{
vec3 position
vec3 scale
Quaternion rotation
}这个位置是在世界空间。
我知道通过这个我可以得到模型世界矩阵
ModelMatrix = Translation * Rotation * Scale但我不知道如何从立场上获得翻译矩阵。
发布于 2017-05-07 13:04:30
哦!我误解了the S矩阵乘法顺序的含义.首先,我认为平移会发生在一个旋转的坐标系中,因为我们在平移之前进行旋转。但是事实上,如果你真的做了矩阵乘法,你会发现它仍然通过T顺序在原来的坐标系中被转换。因此,您可以使用位置来构建平移矩阵,尽管旋转。
如果你使用R顺序,那么在一个旋转坐标系中就会发生平移。
发布于 2018-05-10 15:47:06
您可以创建一个标识矩阵并将其转换到某个位置。
glm::mat4 positionMatrix = glm::mat4(); // create an identity matrix;
positionMatrix = glm::translate(positionMatrix, position); //position is a vec3https://stackoverflow.com/questions/43820812
复制相似问题