阿诺德曲率菲涅尔区别在于

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿诺德曲率菲涅尔区别在于相关的知识,希望对你有一定的参考价值。

自然界材质
要学会使用PBR首先需要了解什么是PBR,需要从真实世界的这些PBR材质特有的属性拆分开来去了解他们,这样我们就需要了解光,物体表面材质以及光是如何与材质交互的。光包括了颜色,亮度,衰减,强度,形状等主要属性,真实的世界中永远是多光源并存的。那么自然界中的材质是如何跟光交互的呢?灯光照射到物体表面后两种情况,反射或继续前行折射。折射后的光线被吸收(一般转化为热),或离散。光线被吸收的行为不是发生在表面,而是次表面,或者内部反射不会带出任何颜色。
吸收会使光线强度降低,吸收某一光谱的光线,余下的光线颜色变化,但方向不变,离散后方向改变,强度不变。这里对于绝缘体和导体,两者与光的交互是完全不同的绝缘体,即非金属的反射率普遍很低,一般在2%-8%左右,大部分光线进行折射,折射后的光线或者被吸收,或者重新离散出来。这部分折射的光线吸收率和材质的明度关,暗的吸收多,亮的吸收少;离散后光线的颜色也取决于物体表面颜色;
对于导体,即金属,反射率普遍很高,达到70%-100%,所以大部分光线会以镜面反射的形式反弹回来。小部分光线折射后完全被吸收(光是一种粒子,被导体吸收)。
1、扩散Diffusion与反射Reflection
扩散与反射,也即是漫反射diffuse与镜面反射specular,是描述光与物质的相互作用经常用到的两个词。大多数人应该能基本了解他们的含义,但不一定能知道他们两个在物理上的区别。
当光线照射到物体表面上时,光线会以和入射角度相同的反射角度从物体表面反弹出去(入射角度与反射角度都是光照方向与光照表面发现方向所成的夹角)。这和你朝墙上扔小球非常相似,你把一个球扔在地上或者墙壁上,小球会以相同的角度但是相反的方向弹开。如果一个表面足够光滑,那么它将表现的像个镜子一样。“镜面反射”这个词便用来描述这个现象。
当然了,并不是所有的光都被表面反射出来了。通常情况下会有一部分光线进入到受照射物体的内部。在受照射物体内,这部分光线会被物体本身吸收(通常会转化为热)或者在物体内进行散射,部分散射的光有可能会通过内部的传播最终又反射回表面,再次成为可以观察到的光线。这个现象有很多叫法,Diffuse Light(漫反射光),Diffusion(扩散光),Subsurface Scattering(子面散射、次表面散射),都说的是一个东西。
散射(Scattering)的光和被吸收(Absorption)的光的波长往往是不一样的。当受照射物体吸收了大部分的光,但是反射了蓝色的光,那么这个物体看上去就是蓝色的。散射往往是一致无序的,可以说它从各个方向上来看都是一样的,这和镜子完全不同。所以当使用PBR的材质球需要描述物体的扩散与反射属性时,只需要输入“固有色albedo”就好了,即用反射贴图来描述从物体表面散射出的各种颜色。Diffuse color有时也被用作它的同义词。
2、半透明与透明
在某些情况下扩散现象(Diffusion)会更加复杂,比如皮肤和蜡烛这些有着更广泛的扩散距离的材料。这时仅仅一张固有色贴图Albedo是不够的,整个着色系统必须考虑到被照射物体的形状与厚度。如果被照射物体足够的薄,那么往往能够从物体背面看到散射出来的光,并被称为半透明。如果被照射物体内的扩散程度很低(比如玻璃),那么光的散射几乎是不可见的,你可以从物体的这一面看到另一面的整个画面。这一现象和典型的“接近物体受照射表面”的扩散现象有非常大的区别,这时候就需要去专门的调整并去模拟这种物理属性。
3、能量守恒
讲到这里我们足以得出一个重要的结论,那就是扩散与反射是完全独立的。这是因为光在扩散之前必须先进入物体内部(也就是没有被物体表面反射)。这在光的投射现象里被称为“能量守恒”,这也就意味着离开表面的光的亮度是不可能高于最初所照射光线的亮度的。
4、金属
基于以下几个原因,导体,特别是金属,具有很特殊的材质效果。
首先,导体相对于绝缘体具有更强的反射。导体的反射率在60%~90%之间,而绝缘体则低得多,只有0%~20%。这些金属的高反射率意味着大多数的照射光线都不能进入物体内部进行散射,这就意味着金属看上去非常的闪。
其次,导体的反射光在可见光谱上会发生变化,也就是说反射光被上色了。这种反射的颜色虽然就算在导体中也算很罕见,但这种材料在日常生活中也是能看到(比如黄金,红铜和黄铜)。一般来说,绝缘体并不会出现这种现象,他们的反射是没有色彩影响的。
最后,导体通常是吸收光,而不是让光散射。这意味着理论上来讲,导体不会表现出任何散射现象。然而在现实中,金属表面上的氧化物和残留物会显现一些少量的散射光。
正是因为金属与其他物质的二元性,使得一些渲染系统采用直接输入“金属度metalness”的方法来控制一个材料是否是金属。而不是仅仅去分别指定固有色albedo和反射率reflectivity。有时在创建材质,这会是首选的简单方法,但PBR并不是都要这么做。
5、菲涅尔
在计算机绘图中,菲涅尔指的是在不同入射角度时所出现的不同的反射率。具体的说,光的入射角度越大,反射率越高(如果水质够清晰,当你垂直的看水面时,是看不到自己的脸的,只能看到水底。而当你的目光和水面接近水平时,就看不到水底,反而可以看到湖面对岸上的树之类的倒影)。这意味着开了菲涅尔的物体,渲染出来的物体的边缘会有明亮的反射。大多数人都应该很熟悉这个概念,它在计算机绘图中不是个新词。但是PBR在菲涅尔方程上做了一些很重要的修正。
首先,对所有的材质来说,当以接近水平的角度来观察光滑物体的边缘时,会出现近乎完美的镜面。是的,真的,任何物体都可以作为镜子,只要它是光滑的,并且以正确的角度观察。直觉上会觉得这不科学,但是这很科学。
第二点,对于不同材质来说,入射角度对应的曲率或者是梯度并没有明显的区别。金属是最特别的,但也没特别到哪里去。(说实话这段翻译我没太明白,看下面的图可以发现不同材质在0°入射角时的反射率差别最大,而在90°时都无限接近了100%,所以差别还是蛮大的。不过反射率在靠近0°时爬升的很慢,这时确实是没什么太大变化。
6、微表面
上面所说的反射与扩散都是由表面的方向所决定的。在较大的尺度下(可以理解为宏观条件下),这是由被渲染表面的形状决定,当然也可以使用normal map来描述一些小细节。只要有了这些信息,任何渲染系统都能将扩散和反射表现的相当不错。
然而我们仍然忽略了一个地方。现实当中大多数物体的表面都会有非常微小的缺陷:微小的凹槽,裂缝,几乎肉眼不可见的凸起,以及在正常情况下过于细小以至于难以使用normal map去表现的细节。尽管这些微观的细节几乎是肉眼观察不到的,但是他们仍然影响着光的扩散和反射。
微表处的细节对反射的影响最容易被观察到(次表面的散射不太会被影响到,所以这里就不说了)。在上图中,当平行光照射到粗糙表面时会分散开来,也即是每条光线都照射到了物体表面上朝向不同的部分。用小球和墙壁来说:球仍然会反弹但反弹的角度变得不可预知。总之,物体表面越粗糙,反射光看上去越“模糊”。
不幸的是,分别去计算每一个微小表面所对应的光照情况是不可能的。那怎么办?如果我们放弃去直接计算每个微表面的光照和反射情况,而是直接给出一个粗糙度的数值,那我们可以写出一个相当准确的shader并得到非常相似的最终效果。这个数值通常被称为“光泽度”,“平滑度”,或“粗糙度”。它可以被特定的制作为一张贴图并赋予给材质。
微表面的细节对于任何材质都是个非常重要的特质,就像真实世界中就有着各种各样的微表面。光泽度贴图并不是一个新概念,但因为微表面的细节对光照的反射具有如此重要的影响,所以它在PBR中占据了一个关键位置。很快我们就将看到PBR着色系统在微表面方面的改进。
二、PBR材质系统
UE4的PBR材质系统中引入了各种BRDF理论模型。BRDF 双向反射分布函数(Bidirectional Reflectance Distribution Function)是建立在光学物理与计算机图形学的基础上的用于描述光反射现象的数学模型。BRDF描述了入射光线经过某个表面反射后在各个出射方向上的分布,即场景中的光照射到材质表面反射到视点的反射特征。在光学物理中,BRDF模型通过积分的形式来描述物体上一无穷小点对入射光线的吸收和反射情况,等于反射方向的光亮度和沿入射方向的入射光辉度之比,在理论上可以描述现实中绝大多数的光学现象,其模型如下:
                 
BRDF模型还需遵循能量守恒定律,即入射光的能量等于出射光的总能量:
                      
BRDF中的渲染方程计算了环境光照明下的反射光的光亮度,它可以写成不同角度下的入射光光亮度乘以BRDF的积分:
                      
为了便于使用,BRDF模型被组织成了多种参数化的指数模型,可以分为三类:经验模型、基于物理的模型、数据模型等,下面介绍几种常用的BRDF模型:
1、Lambertain漫反射模型
Lambertain漫反射模型是计算机图形学中最基本的反射模型,它模拟了入射光线被均匀地反射到各个方向(各向同性)的情况,也就是说沿不同方向的BRDF是一个常数,那么就有:
                 
反射率 等于反射光辉度与入射光辉度之比,即
        
Lambertain模型能够很好地表示包含纯粹漫反射现象的物体材质(例如:纸张),但不能表示镜面反射效果,而镜面反射效果对于金属材质的表现十分重要。
2、Phong光照模型
Phong光照模型在Lambertain漫反射模型的基础上添加了镜面反射项,来表达镜面反射效果:
    

Phong模型不满足可逆性。
尽管Pong模型缺乏物理解释,但由于简洁和高效的特性而被广泛应用于计算机图形学的反射模型中。
3、Fresnel模型
Fresnel模型是建立在光学物理的基础上的数学模型,其建立在表面由众多微表面组成的细节几何结构上。从微观角度来说,微观尺度的表面几何是通过一组微平面集合来组成的。在真实的物理环境下,我们发现光的单向反射性会在擦地角处附近增大,(例如:在以垂直角度向下看水面几乎不存在反射,而以平行角度看水面时则存在明显的反射现象)。在此基础上,我们从麦克斯韦电磁波方程组中得到菲涅尔公式,从而计算出入射光的反射量:
   
                              
其中,F表示菲涅尔反射率。
4、Cook-Torrance模型
Cook-Torrance模型是计算机图形学中应用最早的BRDF物理模型,是应用物理学家Torrance-Sparrow模型的一个应用版本。Cook-Torrance模型中把物体看成无数个微平面,并假定微平面是由V型凹槽组成的,凹槽中满足镜面反射。该模型结合了Lambertain模型的漫反射项与微平面反射的镜面反射项,公式为:
                       
其中,D表示微平面法向分布函数,G表示几何衰减因子,s和d表示镜面反射和漫反射系数。
5、Ward模型
Ward模型介绍了一种更一般的表面法向表达方式,即通过椭圆体这种润徐各向异性反射的形式来表达。该模型将菲涅尔因子和几何衰减因子替换成了一个用于保证分布在整个半球内积分的简单归一化项,由于没有考虑菲涅尔因子与几何衰减因子,使得该模型更像是一种经验模型。
6、波动光学模型
波动光学模型以波动光学为基础,假设物体表面的微平面大小与光的波长相当。虽然波动光学模型有很强的描述能力,能够很好地表示真实感物体材质,但由于该模型本身过于复杂而限制了它的应用。
7、数据驱动模型
数据驱动模型是将一个大的材质集合的BRDF记录为高维向量,并通过降维的方法从这些数据中计算出一个低维模型。数据驱动模型对材质属性没有假设限定,使用起来更灵活,但由于数据量大,还需要通过数据降维的方法来压缩数据。
三、UE4中的PBR材质
UE4引擎的PBR材质系统中引入了各种BRDF函数理论模型,来尽量逼近模拟自然界的物理现象,PBR材质的编辑指的是用户通过修改现有的BRDF模型从而得到新的BRDF模型。如果是解析形式的BRDF模型,那么通过修改其参数,就能实现BRDF的编辑。也可以在shader里选择默认模型,最终需要效率和效果的一个最佳结合点。
在UE4材质里面,每一个input都有着各自的特性,他们的组合成为了一个个不同属性的物理材质。可以实现钢,塑料,铁,玻璃,油漆等材质类型,打磨过的,抛光,磨砂等材质表面处理,生锈的,刮擦的,磕碰的,脏的,油腻的,油漆剥落的,积灰的,崭新的等材质表现细节。
  PBR其实并不是一个逻辑复杂的过程,它更像一杯由各种数学公式组成的鸡尾酒。比如说要描绘正确的高光过程,一个实用的PBR实例就是将施利克的菲涅耳系数与基于施利克-史密斯的视觉函数来进行组合。通过将复数的描述物理过程和结果的算法进行组合,PBR最终能够具备赋予像素正确颜色的能力。
  其实在漫长的图形技术进化过程中,PBR所做的工作一直在被程序员们进行着,从光锥阴影到softshadow,再到最近日趋火热的AO过程,这些技术进步其实都是对算法模型的改进。但相对而言,传统的做法往往集中在某个特定的有针对性的领域,比如说阴影当中,或者往往只考虑了像素的处理,所以并不能解决所有问题。PBR除了为整个渲染过程搭建了一个能够整合的框架,令更多像素细节能够有机会在改进算法和物理模型的作用下呈现更正确的颜色之外,最重要的改进还在于建立了更加完备的、分辨率更高同时能够与经过PBR修饰的光影效果更正确互动的材质库。
阿诺德的标准曲面着色器在为物体建模时会建立一个或两个镜面反射层,以及一个漫反射或透明内部。这种模型可以表现各种各样的材质。我们来看一下各个组件的具体介绍:

Diffuse and Subsurface Scattering(漫反射和次表面散射)
First, consider the diffuse interior. Incoming photons will enter the object, scatter around inside and either get absorbed or leave the object at another location.

首先来看漫反射内部。入射光子进入物体,在内部四处散射,然后被吸收或在另一位置离开物体。

If photons scatter many times, we get a diffuse appearance, due to photons leaving the surface in many different locations and directions. For materials like skin, photons can scatter relatively far under the surface giving a very soft appearance, which we render with subsurface scattering. For materials like unfinished wood, photons do not scatter very far which gives a harder appearance, and we render these as diffuse. For thin objects like leaves, the photons can scatter all the way to the other side of the object, which we render as diffuse SSS with thin_wall enabled.

如果光子散射很多次,并且由于光子在不同的位置和方向离开曲面,我们就会得到一个漫反射外观。对于像皮肤这样的材质,光子可以在曲面下散射的相对较远,呈现出一个非常柔软的外观,我们使用次表面散射进行渲染;对于像原木材料,光子不会散射的非常远,因此呈现出更坚硬的外观,这种效果使用漫反射进行渲染;对于像叶子这样的纤薄物体,光子可以一直散射到另一面,这种效果以漫反射 SSS(启用 thin_wall)形式进行渲染。

Note that fundamentally all of these types of materials have the same underlying physical mechanism, even though we provide separate controls for them in the shader.

请注意,尽管我们在着色器中为所有这些类型的材质提供了单独的控制选项,但是所有这些材质背后都具有相同的物理机制。

The diffuse interior also typically has the biggest influence on the overall color of the material. Each photon has an associated wavelength, and depending on the properties of the material some photons with some wavelengths are more likely to be absorbed than others. This, in turn, means that photons with some wavelengths are more likely to leave the surface, which will give it a colored appearance.

漫反射内部通常对材质的整体颜色影响最大。 每个光子都有一个关联的波长, 并且根据材料的特性,某些波长的光子比其他光子更有可能被吸收。反过来就意味着,某些波长的光子更容易离开曲面,从而使曲面呈现彩色外观。

The skin of a red apple mostly reflects red light. Only the red wavelengths are scattered back outside the apple skin, and the others are absorbed by it. 红苹果的表皮主要反射红色光线,只有红色波长的光才会散射在苹果皮外面,其它的光则被吸收。
Energy Conservation(能量守恒)
A single photon can only participate in one of the diffuse, subsurface scattering and backlighting components, for physical correctness we do not want more photons leaving the surface than entering. For Standard Surface, it is automatically ensured that the sum of these components is not higher than 1.

单个光子只能参与漫反射、次表面散射或背面照明这几个组件中的一个,为了实现物理上的正确性,我们不希望离开表面的光子比进入的光子多。对于标准曲面,会自动确保这些组件的总和不高于 1。

Specular Scattering(镜面散射)

Specular Roughness 0 to 1 粗糙度从0到1
Roughness(粗糙度)
The specular layer is modeled using a microfacet distribution. We assume that the surface consists of microscopic faces oriented in random directions. A surface with low roughness such as a mirror will have little variation between the faces, resulting in sharp reflections. With high roughness, there will be a lot of variation resulting in softer, glossy reflections.

镜面反射层使用微面分布进行建模。我们假设曲面是由许多沿随机方向排列的微小的面构成。粗糙度低的曲面(如镜面)上各个微面之间几乎没有变化,因此呈现清晰锐利的反射。粗糙度高的曲面存在很多变化,因此呈现更柔和、富有光泽的反射。

A strong Specular highlight is visible on the apple. Note the table's specular reflection which is broad and dull (high Specular Roughness value). 苹果上可见强烈的镜面反射高光。注意,桌子的镜面反射宽泛而暗淡(因为镜面反射粗糙度值较高)。

Rough reflections caused by scattered light rays 散射光线引起的粗糙反射

Glossy surface. The angle of incidence and reflection are equal. 光泽曲面:入射角和反射角相等。

Diffuse surface. Ray direction varies randomly. 漫反射曲面:光线方向随机变化。
Roughness Map(粗糙度贴图)
To get variation in the highlights of the surface, a map should be connected to the Specular Roughness. This will influence not only the brightness of the highlight but also its size and the sharpness of the environmental reflection.

要查看曲面高光的变化,应将贴图连接到镜面反射的“粗糙度”(Roughness)。这不仅会影响高光的亮度,还会影响其大小和环境反射的清晰度。

Low Specular Roughness & High Specular Roughness ('Scratches' texture connected to Specular Roughness) 低镜面反射粗糙度 / 高镜面反射粗糙度(“划痕”(Scratches)纹理连接到镜面反射的“粗糙度”(Roughness))

Transmission(透射)
Photons can not only be reflected off the surface but can refract through it as well. Photons will pass through the specular layer, typically changing direction when exiting on the other side of the layer, controlled by the index of refraction (IOR).

光子不仅可以在曲面上发生反射,还可以透过曲面发生折射。光子将穿过镜面反射层,通常在离开该层的另一面时改变方向,具体取决于折射率 (IOR)。

If the interior of the surface is transparent, such as for clear glass, then photons can pass through the object and exit on the other side. If there is a diffuse interior, the photon can scatter inside the object and get absorbed or exit the object again. The more refractive the specular layer, the more the underlying diffuse interior will be visible. For materials like metals, photons refracting through the specular are often immediately absorbed, and so the diffuse interior is not visible.

如果曲面的内部是透明的(如透明玻璃内部),光子将可以穿过物体并从另一面射出。如果为漫反射内部,光子可以在物体内部散射,然后被吸收或再次离开物体。镜面反射层的折射率越高,下面的漫反射内部越清晰可见。对于金属这样的材质,穿过镜面反射层发生折射的光子往往会立即被吸收,因此我们看不到漫反射内部。

Fresnel(菲涅尔)
The percentage of photons reflected or refracted by the specular layer is
参考技术A 阿诺德曲率菲涅尔区别在于如下:
菲涅尔透镜和普通透镜相比,菲涅尔透镜更薄,且体积更大。菲涅尔透镜可实现透镜大型化、平面化和轻薄化。菲涅尔透镜的发明者是法国物理学家奥古斯汀·菲涅尔,菲涅尔透镜就是以他的名字命名的。

菲涅尔透镜

菲涅尔透镜的制造,设计了光学设计模拟、超精密制造技术、高分子材料和精密成型工艺,菲涅尔透镜在生产制造上有广泛的用途。

菲涅尔透镜的最初运用,是运用在灯塔上,菲涅尔透镜可以建造更大的孔径,且焦距短,可使灯塔远距离照明。

菲尼尔反射的反射原理

参考技术A

当光入射到折射率不同的两个媒质分界面时,一部分光会被反射,这种现象称为菲涅尔反射。如果光在光纤中的传输路径为光纤—空气—光纤,由于光纤和空气的折射率不一样,将产生菲涅尔反射。

以上是关于阿诺德曲率菲涅尔区别在于的主要内容,如果未能解决你的问题,请参考以下文章

菲尼尔反射的反射原理

vary 菲涅尔反射参数

vary 菲涅尔反射参数

vary 菲涅尔反射参数

CG之菲涅尔效果简单实现

利用 FFT 模拟菲涅尔衍射积分