|
|
为什么要投影到x[-1, 1], y[-1, 1], z[-1, 1](OPENGL) / z[0, 1](D3D) 这所谓的设备空间呢?为什么不在
投影到视平面之后,立即通过视平面变换到屏幕空间呢?
小弟的理解是,在世界空间到相机空间时,应用程序(引擎)根据法线向量和视线向量做了背面消除,根据碰撞盒/球排除了
完全在视锥体之外的物体后,进行投影,传递给设备空间,此时硬件在这个方盒子里面进行面剪裁,排除了所有不在盒子里面
的顶点,然后变换到屏幕坐标交给光栅器光栅化。
其目的是:因为立方体能很方便的(使用硬件)进行剪裁,不知道对不对?请各位高手赐教。 |
|