【Computer Graphics】透视矫正插值


透视校正插值
顶点属性插值
1. 透视校正插值
当3D图形处理器渲染一个三角形到屏幕的时候,需要先在屏幕上对三角形以逐行扫描的方式进行光栅化。由下图可以看到,在投影平面上的相同的步长,所对应的三角形面上的步长随着三角形面于相机之间距离的增加而增加(投影平面上等步长的点就是显示器屏幕的像素)。因此图形处理器必须采用非线性插值的方法来计算纹理映射坐标,以避免纹理映射图的扭曲变形。

如图所示,x-z平面上存在一条三角形上的某一扫描线对应的线段,通过计算摄像机坐标与投影平面上等步长的点的连线所在的直线与该线段的交点,对该线段进行点采样(这里假设了该线段没有过原点(摄像机坐标),否则三角形将被从侧面观察而不可见)。该线段方程为:

        

对于该直线上的一点 ,通过与投影平面上对应的点 ,可建立如下关系式:

  

 z:点  的深度值,可由3D图形硬件通线性插值得到;
           -e:投影平面的 z 坐标,等于固定值,这里设为 -e;

将上式代入线段方程,可得:

    

为了方便计算,可以将直线方式写成如下  位于一边的形式:

  

我们可以看到线段上的两个端点 ,和 ,以及它们在投影平面上的对应点  和 。假设  点是两个投影点之间的任意一点,该点满足:

       

假设通过点  的光线与三角形面交于点 ,将上式代入关于  的等式,可得:

  
                 
                 
                 

上式推导结果表明:三角形上得插值点得坐标值得倒数是线性插值。

2. 顶点属性插值
 顶点携带的光照颜色和纹理映射坐标等信息统称为顶点属性。当对三角形进行光栅化时,三角形面中任一点的属性需对相应顶点属性进行插值而获得。假设扫描线端点的深度值为  和 ,分别包含标量属性值(如颜色值)  和 ,则插值属性值  与两个端点的属性差之比等于插值深度值  与两个端点的深度值差之比,以下等式成立:

由于我们之前已知:

由以上两个式子可以得到关于  的方程:

给分子分母同时除以 ,则等式右边可提取公因子 :


                 

该属性值与z坐标值倒数的乘积  是线性插值,通过这种方式可以获取顶点属性 b 的透视校正插值结果
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值