zoukankan      html  css  js  c++  java
  • 视锥和投影矩阵,视口变换

    缩放与视域角有关

    投影的过程就是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

        

  • 相关阅读:
    2015第二周日
    2015第二周六
    2015第二周五
    反思java web的发展
    servlet/filter/listener/interceptor区别与联系
    WSSecurity简述
    2015第2周一数据传输安全
    2015第一周日
    2015第1周六2015技术努力方向
    插入排序
  • 原文地址:https://www.cnblogs.com/wonderKK/p/2254914.html
Copyright © 2011-2022 走看看