📅  最后修改于: 2020-12-21 00:54:03             🧑  作者: Mango
由Gouraud开发的强度插值方案(通常称为Gouraud Shading)通过在整个表面上线性插值强度值来渲染多边形表面。每个多边形的强度值与沿公共边缘的相邻多边形的值相协调,从而消除了在平面着色中可能出现的强度不连续性。
通过执行以下计算,使用Gouraud底纹渲染每个多边形表面:
在每个多边形顶点处,我们通过平均所有凝视该顶点的多边形的表面法线来获得法线向量,如图所示:
因此,对于任何顶点位置V,我们可以通过计算获得单位顶点法线
一旦有了顶点法线,就可以从光照模型确定顶点的强度。
下图演示了下一步:沿多边形边缘插值强度。对于每条扫描线,从边缘端点的强度线性内插扫描线与多边形边缘相交处的强度。例如:在图中,端点在位置1和2处的多边形边在点4处被扫描线相交。获取点4处的强度的一种快速方法是仅使用垂直方向在强度I 1和I 2之间进行插值。扫描线的位移。
同样,此扫描线(点5)右交点处的强度是从顶点2和3处的强度值插值的。一旦为扫描线确定了边界强度,便会形成一个内部点(例如上一个点P)。图)是根据点4和5的边界强度进行插值的
增量计算用于获得扫描线之间的连续边缘强度值,并获得沿扫描线的连续强度,如图所示:
如果将边缘位置(x,y)的强度插值为
然后我们可以获得下一条扫描线Y-1沿该边缘的强度
类似的计算用于获得沿每条扫描线的连续水平像素位置处的强度。
当要对表面进行彩色渲染时,将在顶点处计算每种颜色分量的强度。 Gouraud Shading可以与隐藏表面算法连接,以沿每条扫描线填充可见多边形。下图显示了使用Gouraud方法着色的对象的示例:
Gouraud Shading舍弃了与恒定着色模型关联的强度不连续性,但它还有其他缺陷。表面上的高光有时会显示为异常形状,并且线性强度插值会导致明亮或黑暗的强度条纹(称为匹配带)出现在表面上。可以通过将表面划分为更多数量的多边形面或使用其他方法(例如,Phong着色)来减少这些影响,这些方法需要更多的计算。