将3D世界向量转换为模型视图矩阵

时间:2014-10-15 13:28:57

标签: javascript matrix 3d webgl

我在为WebGL场景制作矩阵数学时遇到了麻烦。我尝试过的任何东西似乎都没有正确显示。

在我的3D世界里,我有很多模特。每个模型都有一个XYZ矢量,用于在世界范围内定位,旋转和缩放。相机有一个位置和旋转矢量。

将这些矢量转换为每个模型传递给着色器的模型视图矩阵的最佳(并且明显有效)方法是什么?

提前致谢! :)

1 个答案:

答案 0 :(得分:0)

生成模型视图矩阵的完整方法通常如下:

1. Set up view matrix V (inverse of camera) from camera orientation vectors
2. Set up model translation matrix T from model position vector
3. Set up model rotation matrix R from model orientation vectors
4. Set up model scaling matrix S
5. MV = V       // initialize model-view matrix MV with the view matrix V
6. MV = V*T     // apply the model translation matrix T
7. MV = V*T*R   // apply the model rotation matrix R
8. MV = V*T*R*S // apply the model scaling matrix S