通过示例了解小规模 Gouraud 着色
Posted
技术标签:
【中文标题】通过示例了解小规模 Gouraud 着色【英文标题】:Understanding small-scale Gouraud Shading with an example 【发布时间】:2014-02-20 14:04:19 【问题描述】:我正在上计算机图形学课程,刚刚通过了关于 Phong 和 Gouraud 着色的讲座。我真的不明白在说什么,所以我转向教科书进行澄清,并找到了一个可能对我有所帮助的可行示例。我想和大家讨论这个例子。
例子说:
During triangle rasterization we are using Gouraud interpolation
of colors across a triangle to determine the colors of pixels.The triangle we are
rendering has vertices A, B, and C, with screen-space coordinates A = (30,10),
B = (30,50), and C = (60, 30).
顶点具有以下 RGB 颜色:
Ac = (25, 160, 30)
Bc = (25, 110, 30)
Cc = (25, 115, 30)
点 (a.) (30,30) 和点 (b.) (45, 30) 的 RGB 颜色是什么?
对于(a)
我假设 A 和 B 的 R 和 B 值 - 它们是相同的,然后,因为 30 正好在 10 和 50 之间...取 A 和 B 的 G 的颜色值的平均值。
所以 (25, 135, 30) 是点的颜色值。我将在下一个问题中使用这个值 - 所以我们称之为 M 点。
对于 (b)
我们唯一的 y 坐标为 30 的点是 C。点 M 位于 (30,30)。所以,因为 (30,30) 和 (60,30) 具有相同的 R 和 B 值......我假设它们对于 (45, 30) 是相同的。同样,我们只是平均 G 值,因为 45 正好在 30 和 60 之间。
所以答案是 (25, 125, 30)。
所以我的问题是 - 这是正确的吗?如果是这样 - 这就是插值的意思吗 - 这种......平均? Phong 着色与此有何不同?
【问题讨论】:
【参考方案1】:Gouraud 正在更快地在强度之间进行插值。 Phong 正在法线之间进行插值,这更昂贵,但您可以获得更好的质量,更平滑。你没有间断。为了达到相同的质量,Gouraud 需要更大的采样率。
【讨论】:
以上是关于通过示例了解小规模 Gouraud 着色的主要内容,如果未能解决你的问题,请参考以下文章
为 OpenGL Gouraud 着色提供带有三角形条和扇形的法线