UnityShader入门精要——PBS基于物理的渲染

1        PBS理论与数学基础

材质折射率:如果光在传播时介质的折射率发生了变化,光的传播方向就会发生变化。特别是,如果折射率是突变的,就会发生光的散射现象。

菲涅尔等式:光在不同介质的边界会被分割成两个方向:反射方向和折射方向。而有多少百分比的光会被反射(另一部分就是被折射了)则是由菲涅耳等式(Fresnel equations)来描述的。

微表面反射:微表面的法线方向变化角度小,表面反射的光线方向变化也比较小,物体的高光反射更加清晰;粗糙表面则相反,得到的高光反射效果更模糊。

微表面折射: 这些光被折射到物体的内部,一部分被介质吸收,一部分又被散射到外部。金属材质具有很高的吸收系数,因此,所有被折射的光往往会被立刻吸收,被金属内部的自由电子转化成
其他形式的能量。

次表面散射光:非金属材质则会同时表现出吸收和散射两种现象,这些被散射出去的光又被称为次表面散射光(subsurface-scattered light)

 辐射率:辐射率是单位面积、单位方向上光源的辐射通量,通常用L来表示,被认为是对单一光线的亮度和颜色评估。在渲染中,我们通常会基于表面的入射光线的入射辐射率Li来计算出射辐射率L0,这个过程也往往被称为是着色(shading) 过程。

双向反射分布函数BRDF:当一束光线沿着入射方向I到达表面某点时,f(I,v)表示了有多少部分的能量被反射到了观察方向v上。大多数情况下,BRDF可以用f(I,v)来表示,其中I为入射方向和v为观察方向(双向的含义)。这种情况下,绕着表面法线旋转入射方向或观察方向并不会影响BRDF的结果,这种BRDF被称为是各项同性(isotropic) 的BRDF。与之对应的则是各向异性(anisotropic) 的BRDF。

反射等式:L_{o}(v) = \int_{\Omega }^{}f(I,v)\times L_{i}(I)(n\cdot I)d\omega _{i}

精确光源:指的是那些方向确定、大小为无线小的光源,例如,常见的点光源、聚光灯等。我们使用I。来表示它的方向,使用Chight 表示它的颜色。

 L_{o}(v) = \pi f(I_{c},v)\times c_{light}(n\cdot I)

如果场景中包含了多个精确光源,我们可以把它们分别代入上面的式子进行计算,然后把它们的结果相加即可。

下面,我们来看一下反射等式中的重要组成部分一BRDF是如何得到的。可以看出,BRDF决定了着色过程是否是基于物理的。这可以由BRDF是否满足两个特性来判断:它是否满足交换律(reciprocity) 和能量守恒(energy conservation)。

交换律要求当交换I和v的值后,BRDF的值不变,即f(v·I)=f(I·v)。

而能量守恒则要求表面反射的能量不能超过入射的光能,即\int_{\Omega }^{}f(I,v)\times L_{i}(I)(n\cdot I)d\omega _{i}\leq 1

漫反射项: f_{Lanbsrt}(I\cdot v) = \frac{c_{diff}}{\pi }Cdiff表示漫反射光线所占的比例,它也通常被称为是漫反射颜色(diffusecolor)。

高光反射项:f_{spec}(I,v) = \frac{F(I,h)G(I,v,h)D(h)}{4(n,I)(n\cdot v)}

假设表面法线为n,这些微面元的法线m并不都等于n,因此,不同的微面元会把同一入射方向的光线反射到不同的方向上。而当我们计算BRDF时,入射方向I和观察方向v都会被给定,这意味着只有一部分微面元反射的光线才会进入到我们的眼睛中,这部分微面元会恰好把光线反射到方向v上, 即它们的法线m等于I和v的一半,也就是我们一直看到的半角度矢量h(half-anglevector,也被称为half vector).

D(h)是微面元的法线分布函数(normaldistributionfunction, NDF),它用于计算有多少比例的微面元的法线满足m=h,只有这部分微面元才会把光线从I方向反射到v上。

G(I,v,h)是阴影遮掩函数(shadowing masking function),它用于计算那些满足m=h的微面元中有多少会由于遮挡而不会被人眼看到,因此它给出了活跃的微面元( active microfacets)所占的浓度,只有活跃的微面元才会成功地把光线反射到观察方向上。

F(I,h)则是这些活跃微面元的菲涅尔反射(Fresnel reflectance)函数,它可以告诉我们每个活跃的微面元会把多少入射光线反射到观察方向上,即表示了反射光线占入射光线的比率。

4(n D)(n. v)是用于校正从微面元的局部空间到整体宏观表面数量差异的校正因子。

猜你喜欢

转载自blog.csdn.net/weixin_51327051/article/details/125440687