材质、外观

材质 外观

内容:

  • 材质、光照
  • 漫反射材质
  • 光泽材质 Glossy Material
  • Ideal reflective / refractive material
  • 完全反射
  • 折射
    • caustics 焦散
    • 折射定律
    • Snell’s Window / Circle
  • Fresnel Reflection / Term(菲涅耳项)
  • Microfacet Material 微表面材质/模型
  • 区分材质方法--各项同性材质以及各项异性材质 Isotropic / Anisotropic Materials (BRDFs)
  • BRDF的一些性质
  • Measuring BRDFs

材质、光照

自然界中许多物体表现出不同的表面的感觉归根结底是其表面材质与光线作用的结果,材质通过与影响与光线作用最终影响到我们观察到物体表面的感觉。

自然界中的材质成千上万,但目前成熟的渲染器支持的材质也不多。

在图形学中,材质的是定义物体如何与光线进行作用的过程,即对应渲染方程中的BRDF。

avatar

漫反射材质 Diffuse / Lambertian Material

漫反射材质:即任意角度的入射光打到表面后会在各个方向上均匀的向外反射。

  • 假设入射的光线是均匀一致的(uniform),代表着各个方向的入射光的radiance是一样的。
  • 在漫反射材质中反射光也是各个方向上也是均匀一致的(uniform)。
  • 假设该点的不吸收能量,也不发光
  • 对某一着色点考虑,这一点的某一个小的区域收到的光线能量,也就是irradiance。
  • 考虑能量守恒:对于某一着色点,进来多少irradiance,也要出去多少irradiance。
  • 进一步的考虑入射光与出射光均是uniform,即对应入射光与出射光的radiance是一致的。
  • 对渲染方程进行简化处理,假设入射的radiance是个常数,BRDF也是常数。
  • 考虑能量守恒,L0=Li
  • 得到BRDF对应的值。

avatar

得到对应diffuse的BRDF是个常数,当得到的BRDF是为1/pi时,对应的是完全的不吸收能量的BRDF。

进一步定义一个反射率(albedo),可以是RGB,单通道的数等等,区间在0到1之间,便可引入不同颜色的BRDF,最终得到的BRDF取值是在0到1/pi,之间。

光泽材质 Glossy Material

Glossy 材质:带有一些镜面反射的特点,但又不是完全的镜面反射,介于漫反射与镜面反射之间的一种反射方式,典型的就比如铜镜。

avatar

avatar

Ideal reflective / refractive material

既产生了反射也产生折射的材质,例如水面、玻璃,通常称为:Ideal reflective / refractive material

avatar

利用光线的反射、折射情况以及能量的吸收情况可以解释不同类型的材质。

完全反射

avatar

  • 入射方向与出射方向为单位向量,模长为1。

  • 入射方向与出射方向的中间必定为法线方向

  • 利用向量加法的平行四边形法则以及入射光的在法线方向上的投影为红颜色长度,便可以得到出射光的方向计算公式。

  • 方位角的情况考虑,从上向下看,入射方位角与出射方位角正好差了一个pi,加上pi后对2*pi求余便可以得到出射的方向。

avatar

折射

折射:不考虑光的波动性,光线在传播过程中受到物体阻挡光的传播方向发生改变。

avatar

caustics 焦散

avatar

光照射到例如海面等不平整的表面,折射方向可能会往不同的方向散开,而对于海底的某一点,有几率接收到不同方向的光都打到这一点,导致这一点会更亮。

路径追踪不适合渲染焦散。

折射定律

与反射角的求法相似,折射角的计算方式:

avatar

进一步的,计算折射角的cos值,考虑其对应的物理意义,进一步得到了全反射发生的条件。
avatar

  • 全反射发生条件:当入射的介质折射率大于进入的介质的折射率,例如空气到水里绝对不可能发生全反射现象。但是反过来呢?

Snell’s Window / Circle

avatar

人在水底往各个方向去看,只能看到一个锥形的区域。

考虑人眼发出光线,在某个固定的角度内(97.2°),光线能从海底折射到空气中,超出了这个固定的角度,则会发生全反射,对应的能量到达不了人眼中。

在光线追踪时,光线进入一个物体时需要进行全反射检验。

类似与反射定义的BRDF,折射也要对应一种“BRDF(材质)”--即BTDF。

BRDF,BTDF,统称BSDF。s表示散射,t表示折射。

Fresnel Reflection / Term(菲涅耳项)

入射光与物体的法线的角度决定了有多少能量被反射。

同样一本书垂直放在桌子上,从不同的角度看去,观察到的桌子的反射现象不同。

avatar

通过菲涅尔项,可以对有多少能量发生了反射,有多少能量发生了折射进行解释。

avatar

Understanding the Fresnel Effect

车上看向自己的窗户的时候,能看到外面的景色,而看向前面几排人的窗户的时候,基本上只能看到反射,原因在于此。

对于导体来说:

avatar

原始社会中的最初的镜子便是金属类的原因在于此。

s p考虑的是光的波动性在两个方向上的极化现象,一般不考虑,使用二者的平均。

精确的菲涅尔项(有多少能量会被反射):

avatar

  • 总之,菲涅尔项与材质(折射率有关),也与入射角有关。

在不追求材质的精细区分的时候,Schlick's近似得到了广泛的应用。

Microfacet Material 微表面材质/模型

引入菲涅尔项---真正基于物理的材质--Microfacet Material

当我们距离一个物体足够远的时候,看向物体的表面,很多微小的东西都看不到,只能看到它们对表面的最终作用。

avatar

正是基于此,提出微表面模型。

  • 假设物体的表面是粗糙的
  • 从远处看,物体表面是平的,粗糙的---macrosurface
  • 从近处看,能看到凹凸不平的微表面,并且每一个表面的小的微元都是完全的镜面反射的物体。--microsurface
  • 远处看是材质,外观,近处看是几何,本质上来说材质与几何有关。
  • 每一个微表面都有自己的法线

avatar

研究每个微表面的法线分布从而对应不同的材质,远处看到的材质,外观取决于微表面的法线分布

  • 如果微表面的法线分布相差不大,法线集中在宏观法线的某个区域,那么就对应glossy的材质。理想的镜面材质微表面的法线完全一致。
  • 如果表面法线分布相差大,就会形成一种漫反射(diffuse)材质。

avatar

进一步定义BRDF:
avatar

涉及到:

  • 菲涅尔项:决定了不同角度的入射光有多少能量进行反射,总共有多少能量反射。
  • distribute of normal:BRDF定义的是反射能量的分布,radiance,最终具有方向性的,我们关心的是有多少微表面的法线方向是与half vector h一致从而将能量反射到规定的方向(观察方向)上去。
    • 在给定方向(半程向量)上的法线分布,可能是集中的,也可能是发散的。
    • 查询什么样的微表面才能把入射方向反射到出射方向上的
  • shadowing-masking term 又称为几何项,微表面本身是排在物体表面上的,本身有可能会发生互相遮挡,例如当光线与面水平的穿过时,发生自遮挡、自投影,有些微表面失去了作用,实际上的能量不会有那么多,是对最终结果的修正。

一些例子:

avatar

微表面模型在电影,游戏PBR(基于物理渲染)等中应用众多

微表面模型只是统称,有很多模型都遵循微表面模型。

区分材质方法--各项同性材质以及各项异性材质 Isotropic / Anisotropic Materials (BRDFs)

同样的一种金属材质,也要可能得到不同的效果,进而引出了材质的区分。

例如高光:

avatar

avatar

同样的金属材质,前者的高光是圆形的,后者是条状的。

对于各项同性材质(Isotropic):认为其微表面没有方向性或者方向性很弱。

各项异性材质(Anisotropic):认为未表面具有方向性

二者具有不同的性质。

avatar

在BRDF上的表现:

如果BRDF在绝对方位角上旋转后,前后两次的BRDF等价,即各项同性材质,反之为各项异性材质。

avatar

BRDF的一些性质

  • 非负性
  • 线性性
  • 可逆性:交换出射,入射,最终得到的结果是一致的
  • 能量守恒,全局光照中能量收敛就是因为BRDF

avatar

avatar

avatar

  • 在实际的BRDF的储存、测量中,通过可逆性,各项同性等性质可以进行维度的降低从而进行优化。

Measuring BRDFs

BRDF就算可以通过模型表示近似,但是实际上如果能够直接测量出来,那么结果会更加精准。许多理论模型是对实际上的简化,并且如果能够直接测量出来的话就省去了模型的推导过程。

avatar

给定出射方向,枚举所有的入射方向。给定入射方向,枚举所有的入射方向。

对应的四维数据量巨大,因此需要各项同性,可逆性进行降维简化数据。

各种方式能够优化BRDF的测量以及存储要求。

avatar

reference:

[1] GAMES101-现代计算机图形学入门-闫令琪

[2] https://www.jianshu.com/p/9b20e47c5b9e

posted @   田下有心  阅读(536)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示