1. 概述
model space模型空间 +(模型变换)–> world space世界空间 + (视图变换)—> view space观察空间
最后投影阶段会将图像投影到屏幕上,那个叫做投影变换,这三个变换矩阵称为 MVP矩阵
1.1
step1. 局部坐标->世界坐标
模型的每个顶点都可以由世界坐标表达出来,由物体坐标到世界坐标,需乘以一个世界矩阵,这样就得到了相对世界坐标的模型。
step2. 世界坐标->相机坐标
需乘以一个观察矩阵,这样就得到了相对于相机坐标的模型
step3. 相机坐标->屏幕坐标
a. 构建视锥体
b. 三维坐标就要变换到二维坐标了,需乘以透视矩阵,最终得到了一个投影于视锥体近平面的二维模型
1.2 坐标变换
- 如果物体存在非均匀缩放,那么在变换法线时要注意,不能简单地通过乘以上述矩阵来将法线变换到世界空间。
- 如果只是存在平移变换(Translation),无需对法线进行变换;
- 如果只存在平移和旋转变换(Rotation),只需要乘上渲染矩阵;
- 如果存在非均匀缩放变换(Scaling),需要使用矩阵的逆的转置来变换法线。