陆国伟- · 2021年08月12日

Material小结

1.png

看到这张图就知道下面要配一个渲染方程了:
Capture.PNG
4.png

材质就是用来描述光线和物质之间的相互作用。如果一个物体材质是纯镜面的,或者是纯粗糙的,我们可以用镜面反射和漫反射,但如果介于两者之间(glossy),如下图,左边为diffuse和specular,而右边为glossy的效果。就需要更复杂的模型来模拟光和物体的作用。

5.png

Blinn-Phong

OpenGL中渲染会使用Blinn-Phong:

6.png

7.png

Capture2.PNG

简单回顾,我们需要基于物理的材质模型来真实的模拟光和物体的交互,可以等同于BRDF。除了最简单的Lambertian BRDF(diffuse)和pure specular BRDF之后,我们也有了修改后的Phong模型,但Phong本质上还是属于经验模型。

Microfacet BRDF

我们不妨假设所有的物体,在微观上都是由微小的specular的片元组成,如果片元的法线(朝向)是杂乱无章的,则表现出diffuse,如果法线一致,则表现出specular,两者之间则为glossy,这就是microfacet BRDF基础假设:
8.png,

Capture3.PNG

9.png

Disney principled BRDF

“In developing our new physically based reflectance model, we were cautioned by artists that we need our shading model to be art directable and not necessarily physically correct.”

2012年的siggraphi的讲座‘Physically-based shading at Disney’,介绍了如何利用microfacet model,设计出一个直观,好用的材质系统,也就是Disney principled BRDF。

10.png

首先是MERL 100 BRDF材质库,如上图,显示两个不同材质同一点在不同的入射角和反射角之间变化效果,比如左上角高光部分,对应我们水平观察物体的边缘。

11.jpg

针对不同的材质,这样的观察结果有很多。基于对MERL 100 BRDF材质库图像切片(image slice),对应microfacet model中的各项Diffuse,Specular D,G,F的观察,Disney给出了自己的设计理念:

  • 直观而非物理参数
  • 尽可能少的参数
  • 参数应该在0\~1之间
  • 允许参数在必要情况下越界
  • 参数的组合要合理,较高的鲁棒性

12.jpg

除去base color外,还包括如下的10个参数,通过调节这些参数来改变microfacet model中各项系数,设计了Disney BRDF模型。

这里仅总结了主要的三个BRDF模型,现实世界要比模型复杂的多,我们没有介绍isotropic和anisotropic之间的区别,以及各类差异很大的材质,毛发或participating media,次表面等内容,这些可能都需要特殊的材质模型来实现高效渲染和animation。

我想额外说一下Phong,Phong是一名越南人,1973年获得博士学位,发明了Phong模型,当时他已经知道自己得了白血病,1975年去世。他在论文中写了这样一段话” We do not expect to be able to display the object exactly as it would appear in reality, with texture, overcast shadows, etc. We hope only to display an image that approximates the real object closely enough to provide a certain degree of realism”。大部分时候,这个世界让人失望,但某些瞬间,某些人还是会让你感动。

(假设下面是付费内容)

13.png

Capture4.PNG

14.png

因为curse of dimensionality,这个计算量非常昂贵,近年来有一个新的思路,优化采样策略,重要性采样,在保证效果的情况下减少采样成本:

15.jpg

在论文’ An Adaptive Parameterization for Efficient Material Acquisition and Rendering’中,发现了一种通过retro-reflective检索材质的NDF的方式,retro-reflective就是入射角和反射角相同,方向相反,这样只有一个维度需要测量,极大的提高了测量的效率。

16.png

Capture5.PNG

WeChat Image_20210812104906.gif

参考资料

  1. Jacco Bikker Advanced Graphics Slides ‘BRDFs’ http://www.cs.uu.nl/docs/vakken/magr/2019-2020/slides/lecture%2014%20-%20BRDFs.pdf
  2. ‘Physically Based Shading at Disney’
  3. ‘A Data-Driven Reflectance Model’
  4. ‘An Adaptive Parameterization for Efficient Material Acquisition and Rendering’
  5. Rendering Tutorial III: Materials and Shading 闫令琪 http://games-cn.org/games-web...
  6. 知乎:基于物理的渲染(PBR)白皮书 https://zhuanlan.zhihu.com/p/60977923
  7. 知乎:基于物理着色(三)- Disney和UE4的实现 https://zhuanlan.zhihu.com/p/20122884
作者:Peter6
原文链接:https://mp.weixin.qq.com/s/-NuNerBU4eX\_RLXq281sUQ
微信公众号:
LET.jpg

推荐阅读

更多GPU及渲染技术干货请关注Arm Mali GPU技术专栏。
推荐阅读
关注数
111
内容数
18
Arm Mali GPU系列相关技术干货
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息