首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gouraud阴影在三角形上使用顶点法线插值颜色。Phong阴影插值法线。他们的结果有什么不同?

Gouraud阴影在三角形上使用顶点法线插值颜色。Phong阴影插值法线。他们的结果有什么不同?
EN

Computer Graphics用户
提问于 2021-07-21 10:15:48
回答 2查看 469关注 0票数 0

我很难理解,为什么从根本上说,三角形通过Gouraud阴影和那些阴影通过Phong阴影看起来不同。

根据我的理解,Gouraud阴影取三角形的顶点。它在顶点法线的帮助下计算每个顶点的颜色,并在每个像素的三角形上插值该颜色。Phong阴影计算每个顶点的法线,并在每个像素的三角形上插值法线,并使用插值的法线对所述像素进行阴影。

两者都涉及到插值。为什么插值的法线会产生更真实的结果,而直接插值的颜色却不能呢?是什么使它的颜色插值不太准确?

在遮风罩下,难道插值不只是一种类似于插值法线和在每一点找到颜色的颜色吗?如果不是,直觉地说,这两者有何不同呢?

EN

回答 2

Computer Graphics用户

回答已采纳

发布于 2021-07-22 16:40:56

视角一直在变化。在戈洛阴影中,每个顶点进行一次颜色采样。

但是,在phong阴影中,每个像素的视角与法线之间的角度是计算的。

那怎么会不一样。很简单,因为角度的变化,以及它的余弦,不是一个线性变化的量。(当我到达电脑时,我会画一幅画)

想象一个大平面的漫射面。然后,你看到的漫射阴影是基于法线和归一化矢量到光的点乘积。现在想象一下光在飞机的中间。如果你只在飞机的拐角处有一些垂直物体,你就会得到一个均匀的强度。如果你不分的话。如果你细分为像素,你得到phong阴影和由于点加不是线性,一个不同的答案。

TL;

博士

非线性函数不能很好地用线性函数逼近。

票数 4
EN

Computer Graphics用户

发布于 2021-07-21 14:32:29

RGB“颜色”包含色度(颜色)和亮度(亮度),法向量包含方向和大小。

Gouraud阴影近似于颜色梯度。

Phong阴影近似于表面梯度。

想象一个大的三角形,在中心有一个小的高光点,所有的三个顶点位置都有指向高光点的法线矢量,所以只有微弱的光线。

内插的颜色将完全失去突出显示,并只给出那些在3个顶点位置之间的值。

内插法向量将强制改变矢量的方向,使高光可见。

此外,法向量的插值改变了它们的长度,可以在碎片阴影中重新计算,以帮助改进近似。但是,我们几乎没有什么办法来帮助纠正插值的颜色。

编辑:为什么两个向量之间的插值会改变长度。对于插值向量,我们使用公式N_c = N_a\alpha+N_b(1-\alpha),其中N_aN_b是被插值的两个向量。这包括两个向量的和。添加向量可以被认为是将它们端到端地放置,因此两个向量的和导致了第三个向量,其长度由两个向量之间的角度所决定。

正如西蒙f在评论中指出的那样,我对马赫显带的描述措辞拙劣,具有误导性。见下面的评论。这是一个效果在行动的图像。

票数 1
EN
页面原文内容由Computer Graphics提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://computergraphics.stackexchange.com/questions/11065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档