它们如何工作,它们之间有什么区别?在哪种情况下应该使用哪种呢?

#1 楼

平面着色是最简单的着色模型。每个渲染的多边形都有一个法线向量。整个多边形的阴影在多边形表面上是恒定的。多边形数量少,可使曲面具有多面外观。

阴影是您列出的三种方法中最复杂的一种。每个渲染的多边形每个顶点都有一个法线矢量;通过在整个表面内插向量并计算每个关注点的颜色来执行着色。对法线向量进行插值可在使用有限数量的多边形的情况下为平滑弯曲的曲面提供合理的近似值。

居拉德阴影介于两者之间:像Phong阴影一样,每个多边形每个顶点都有一个法线向量,而不是对向量进行插值,而是计算每个顶点的颜色,然后对多边形的表面进行插值。 Phong阴影(如果质量很重要)。或者,您可以使用可编程管线着色器来避免整个问题。

评论


$ \ begingroup $
在现代硬件上,我不知道基于硬件的Phong模式。另外,顺便说一下,对于可编程着色器(目前已经普及),人们几乎总是使用基于微面的BRDF。
$ \ endgroup $
–imallett
2015年9月2日,下午2:14

$ \ begingroup $
我的观点是Gourard超过Phong的速度提高不足以证明质量下降是合理的-现代计算机可以(或至少应该)实时完成这两项工作。
$ \ endgroup $
–马克
2015年9月2日,下午2:32

$ \ begingroup $
用你所说的方式,听起来好像有固定功能的Phong功能,但我不相信有。另外,您说应该“如果质量很重要”就应使用Phong,但是Phong实际上是劣质的BRDF模型。在某些方面,甚至比Blinn-Phong还要差,后者是Gouraud阴影用于顶点着色的硬件。
$ \ endgroup $
–imallett
2015年9月2日,下午2:37