前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Material小结

Material小结

作者头像
Peter Lu
发布2020-12-03 10:36:11
8370
发布2020-12-03 10:36:11
举报
文章被收录于专栏:LETLET

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

这个公式可以很好的说明渲染的效果取决于光路(light transport,求解这个积分)和材质(对应函数

)。

本文主要总结

相关内容,

称为BRDF (bidirectional reflectance distribution function),告诉我们当irradiance从

达到x点,然后反射到

方向的radiance:

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

Blinn-Phong

OpenGL中渲染会使用Blinn-Phong:

其中

是材质对应的颜色,

是光线

在法线

对应的反射,

是对应的光源和环境光。

Blinn-Phong模型是一种经验式的模型,不是完全基于物理的模型(physically plausible),一个正确的BRDF要求:

始终大于零,positive

满足交换律:

  • 能量守恒:

因此,在PBR中我们可以使用改造后的Phong模型:

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

Microfacet BRDF

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

,

这里,

,F是fresnel,折射和反射间的关系,比如老师在教室外面偷看学生自习这种行为,视角在侧面时,这时候你看到的是教室外反射的景象,看不清教室内部的情况,于是你不断靠近窗户,假设和窗户垂直时,你就可以很清楚的看到教室内折射的景象,但也暴漏目标了,这也是为什么老师不选择教室大窗户而喜欢从后门窗户看的原因。G表示有多少法线为

的微表面是可见的。D是一个非常重要的概念,normal distribution function,因为微表面各不相同,所以只能以统计的方式来考虑其分布,

告诉我们

朝向的微表面的面积,F,G,D对应的公式各不相同,下面仅给出常用的一组:

,Blinn-Phong distribution

另外需要强调的是,在光线追踪中,我们不仅要能够计算

,还要采样,计算出对应的概率密度,这些也是BRDF材质模型需要支持的。

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。

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

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

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

除去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”。大部分时候,这个世界让人失望,但某些瞬间,某些人还是会让你感动。

(假设下面是付费内容)

总结完材质模型,简单说一下material acquisition的内容,如何测量BRDF。假设对一个点测试,MERL 100假设材质是isotropic,这样只需要关心

相对的方位角,因此是一个三维

,以90*90*180插值来检测。

o

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

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

当我们获取材质的NDF后,进而获取VNDF (warp1),这里,一个均匀分布会匹配对应的VDNF

分布,采样点会集中在权重大的区域,将其转为球面坐标系(warp2),再获取反射角,最后通过gonio-photometer设备获取对应角度的测量值,构建材质库。而在渲染中,我们可以根据warp来实现sample和对

的evaluate。最后,我们感受一下gonio-photometer是如何工作的。

参考资料

Jacco Bikker Advanced Graphics Slides ‘BRDFs’ http://www.cs.uu.nl/docs/vakken/magr/2019-2020/slides/lecture%2014%20-%20BRDFs.pdf

‘Physically Based Shading at Disney’

‘A Data-Driven Reflectance Model’

‘An Adaptive Parameterization for Efficient Material Acquisition and Rendering’

Rendering Tutorial III: Materials and Shading 闫令琪 http://games-cn.org/games-webinar-20181004-67/

知乎:基于物理的渲染(PBR)白皮书 https://zhuanlan.zhihu.com/p/60977923

知乎:基于物理着色(三)- Disney和UE4的实现 https://zhuanlan.zhihu.com/p/20122884

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 LET 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档