四大变换:
- 世界变换 在指定位置绘制图形
- 取景变换 从不同视角观察图形
- 投影变换 较劲较远的图形在同一个平面显示可以呈现出近大远小的效果
- 视口变换 控制显示图形的窗口大小,比例以及深度
前三个变换都与矩阵变换有关
世界变换
世界坐标系与局部坐标系
世界变换就是可以将物体模型从自己的局部坐标系转换到时间坐标系中,将所有的物体组织成同一个场景。
世界变换包括平移,旋转和缩放变换对应在D3DX API中的函数就是。
D3DXMatrixTranslation
D3DXMatrixRotation*
D3DXMatrixSaling
取景变换
取景变换其实就是设置D3D场景中虚拟摄像机的位置,对于不同位置的摄像机和观察点,场景中的物体会呈现出不同的形状。
通过D3DXMatrixLookAtLH函数可以得到一个场景变换矩阵,然后调用IDirect3DDevice接口的SetTransform方法进行取景变换。
投影变换
投影变换其实就是将三维物体投影到二维的屏幕上。
在D3D中,投影窗口默认是z=1的平面。
视截体:虚拟摄像机与投影窗口组成的三维空间
裁剪:位于视截体内的物体会被投影到二维平面,而位于视截体外的物体将不会被显示。
视口变换
视口变换是指将投影窗口中的图形显示到屏幕的程序窗口上。