Directx 3D - 3D视图空间和投影
1. 视图空间
进行世界转换后,所有物体就组合成了一个场景。但是就如同人的视野有限一样,能看到的场景范围也应该有限。Directx 3D允许在场景中设置一个虚拟摄像机,决定看到的场景由虚拟摄像机决定的空间叫做视图空间。
2. 视口
所谓视口就是屏幕上的矩形区域。视口可以是整个屏幕,也可以是屏幕的一部分,比如窗口模式下的客户区。
3. 投影转换
视图转换确定摄像机的位置和方向,接下来要把摄像机中观察到得三维景像显示在二维平面上,这种三维到二维的转换就是投影变换。投影变换主要有正交投影和透视投影两种。
3.1. 正交投影
投影线垂直于投影面的投影属于正交投影 ,也称为平行投影。
![](http://hi.csdn.net/attachment/201108/2/0_1312249932bMwS.gif)
![](http://hi.csdn.net/attachment/201108/2/0_1312249938iiiN.gif)
3.2. 透视投影
平截台体:平截台体是一个去除了尖头的锥体。透视投影的观察范围是一个平截台体。
观察平截面:锥体的尖头位于虚拟摄像机得位置,摄像机指向该锥体的底部。将该锥体的四个侧面像屏幕四边投影,并切除远近裁剪平面位置的锥体前后部分。
![](http://hi.csdn.net/attachment/201108/2/0_1312250539dyA3.gif)
![](http://hi.csdn.net/attachment/201108/2/0_13122505527z67.gif)
![](http://hi.csdn.net/attachment/201108/2/0_1312250545hFpY.gif)