我只是想知道在 ZBrush 中使用的 Matcap 着色器和双向辐射分布函数着色器之间有什么区别。
这两种技术是一样的吗?Matcap 是使用 BRDF 完成的还是它们不同?
1 回答
这是一个很好的答案:Matcap 和 BRDF 着色比 -2 更有用。但我不应该抱怨这个...
来自尼可波拉斯
假设您指的是双向反射分布函数,BRDF 只不过是一类广泛的照明方程的花哨名称。这些是基于两个方向(双向)计算表面反射率分布的函数:入射光的方向和表面观察者的方向。BRDF 方向都是根据它们相对于法线的相对方向定义的,因此法线实际上是一个隐式参数。
这是一个非常笼统的光照方程类别。标准 Lambert、Blinn、Phong 等都符合双向反射分布函数的要求。它们都可以用朝向光的方向和朝向观察者的方向来表述。
但是,由于您将它与 Matcap 进行比较,我假设您指的是基于物理的 BRDF,而不是所有 BRDF 的一般类别。也就是说,从表格生成的 BRDF 是通过使用机器来检测具有变化的视图和光方向的真实材料的光交互特性而计算出来的。
假设您所指的 Matcap 是这样的,我不得不说,不。至少 Matcap 的特定实现不是。
如果您想格外慷慨,那么它就是 BRDF。但只是在最松散的意义上。为什么?因为计算的反射率不会随两个方向中的任何一个而变化。只看着色器;它使用的唯一方向信息是表面法线。虽然它是一个用于计算颜色的属性,但从 BRDF 的角度来看,它是一个常数。
如果你想要技术,Matcap 使用 BRDF。即球体纹理。这就是照明方程的实际情况;这是基于特定视图和光方向的反射率分布。
一个适当的基于物理的 BRDF 实际上是一个 4 维查找表,基于两个方向的角度。Matcap 使用二维查找表,查找并不是真正基于视图或光线方向;只是正常的。Matcap 基本上是作弊,使用正确的 4D BRDF 的单个静态 2D 切片。
所以不,Matcap 不是 BRDF,就像您使用 BRDF 的结果为特定像素着色的代码本身并不是 BRDF。