有人可以向我解释Gouraud阴影吗?我可以继续谷歌"gouraud shadeding",但这对我来说没有多大意义。我有 3 个顶点,有一个 (x, y) 位置和一个 int[r,g,b] 颜色。我想线性插值(不确定这意味着什么)顶点的颜色以在三角形中着色。这样做的逻辑是什么?
您将执行双线性插值。
沿着像素行从上到下扫描三角形。每行将沿着两条不同的边与三角形相交两次。
您将首先沿这些边执行两个线性插值,计算顶点处 RGB 分量的混合,并根据到这些分量的距离进行加权(颜色a
的权重Db/(Da+Db)
和颜色b
的权重Da/(Da+Db)
)。
然后,您将扫描交叉点之间的像素,在刚刚计算的两种颜色之间执行另一个线性插值。
这样,您将用平滑的渐变填充三角形,使其与相邻三角形(如果有的话)连续。