个性化阅读
专注于IT技术分析

计算机图形:Gouraud底纹

由Gouraud开发的这种强度插值方案(通常称为Gouraud着色)通过在整个表面上线性插值强度值来渲染多边形表面。每个多边形的强度值与沿公共边缘的相邻多边形的值协调, 因此消除了在平面阴影中可能发生的强度不连续性。

通过执行以下计算, 使用Gouraud底纹渲染每个多边形表面:

  1. 确定每个多边形顶点的平均法线向量。
  2. 将照明模型应用于每个顶点以确定顶点强度。
  3. 线性在多边形表面上插值顶点强度。

在每个多边形顶点处, 我们通过平均所有以该顶点为起点的多边形的表面法线来获得法线向量, 如图所示:

Gouraud底纹

因此, 对于任何顶点位置V, 我们可以通过计算获得单位顶点法线

Gouraud底纹

一旦有了顶点法线, 就可以从光照模型确定顶点的强度。

下图演示了下一步:沿多边形边缘插值强度。对于每条扫描线, 从边缘端点的强度线性内插扫描线与多边形边缘相交处的强度。例如:在图中, 在点1和2处具有端点顶点的多边形边缘在点4处被扫描线相交。一种用于获取点4处强度的快速方法是仅使用的垂直位移在强度I1和I2之间进行插值。扫描线。

Gouraud底纹
Gouraud底纹

同样, 此扫描线(点5)右交点处的强度是从顶点2和3处的强度值插值的。一旦为扫描线确定了边界强度, 便会形成一个内部点(例如上一个点P)。图)是根据点4和5的边界强度进行插值的

Gouraud底纹

增量计算用于获得扫描线之间的连续边缘强度值, 并获得沿扫描线的连续强度, 如图所示:

Gouraud底纹

如果将边缘位置(x, y)的强度插值为

Gouraud底纹

然后我们可以获得下一条扫描线Y-1沿该边缘的强度

Gouraud底纹

类似的计算用于获得沿每条扫描线的连续水平像素位置处的强度。

当要对表面着色时, 将在顶点处计算每种颜色分量的强度。 Gouraud Shading可以与隐藏表面算法连接, 以沿着每条扫描线填充可见多边形。下图显示了使用Gouraud方法着色的对象的示例:

Gouraud底纹

Gouraud Shading舍弃了与恒定着色模型相关的强度不连续性, 但它还有其他缺陷。有时会以异常的形状显示表面上的高光, 并且线性强度插值会导致亮或暗的强度条纹(称为匹配带)出现在表面上。通过将曲面划分为更多数量的多边形面或使用其他方法(例如, Phong着色)需要更多计算, 可以减少这些影响。


赞(0)
未经允许不得转载:srcmini » 计算机图形:Gouraud底纹

评论 抢沙发

评论前必须登录!