您的位置:首页 > 其它

视锥和投影矩阵,视口变换

2011-11-19 10:49 351 查看




缩放与视域角有关













投影的过程就是xyz分量除以W的过程



可知投影在了z=1,的平面









上面的z是指乘以投影矩阵(剪裁矩阵)后的z



这里设上面这个DIP矩阵为A;

经过计算可知:

(在近裁剪面的点) (x,y,n,1)*A=(x*zoomx,y*zoomy,0,n)---->投影后为(x*zoomx/n,y*zoomy/n,0)

(在远裁剪面的点) (x,y,f,1)*A=(x*zoomx,y*zoomy,f,f)---->投影后为(x*zoomx/f,y*zoomy/f,1)

乘以矩阵后的点满足了0<=z<=w。而且是两个边界。

这里的DIP矩阵就是投影矩阵。只不过投影过程要除以w分量来完成。

经过相机变换、投影变换后,视见体内所有的点都被投影到X[-1,1]、Y[-1,1]、Z[0,1]的范围,(不在视见体内的物体如果被投影的话会被投影在这个范围之外)

投影后z的值在区间[0,1]中。作为深度缓存?





注意最后一句话,投影后的z分量还是会被保留做z缓存用。

投影后转换到屏幕空间的转换矩阵(视口变换矩阵)

winResx/2,0,0,0

0,-winResy/2,0,0

0, 0,1,0

winResx/2,winResy/2,0,1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: