软件光栅器四之从相机空间到视平面的坐标变换

来源:互联网 发布:大数据上市公司有哪些 编辑:程序博客网 时间:2024/05/17 05:56

从上一篇技术博客  软件光栅器三之世界矩阵,相机变换矩阵,透视投影矩阵,透视除法,视口变换矩阵  我们直接给出了各大变换矩阵的表示形式以及实现的代码

这一节博客 我将讲述从一个顶点从相机空间到到视平面的坐标变化过程,理解这个过程坐标值大小的范围对于实现ShadowMap,ProjectiveTexture,Pick技术来说至关重要。当然我还是省略掉大量详细的推导过程,只是给出结果。


如下面图所示,红色圈住的部分,





一,从ViewSpace到HomogeneousSpace(CVV)




就想下面的图一样: 




实际上D3D11的CVV体和齐次裁剪空间是同样的概念,假设透视投影变换之后顶点为(X,Y,Z,W),则CVV体或者齐次裁剪体为一个长为2W,高为2W,宽为W的长方体,而不是长为2高为2宽为1的规格化的长方体,更不是所谓的单位立方体。


二,从HomogeneousSpace到NDC




NDC空间其实就是一个长为2高为2宽为1的长方体,如下面图所示:



感觉CVV和NDC其实长得好像,就是单位不一样。当然请记住,裁剪是发生在CVV空间的,很多人误以为CVV体就是单位立方体或者长为2高为2宽为1的长方体,这种想法是不对的。


三,从NDC空间到视平面









演变过程如下面所示:




0 0
原创粉丝点击