笔记:材质与外观
- BRDF
- Lambertian Material
- 其它材质的物体
- 反射和折射性质
- Microfacet Material(微表面材质)
- BRDF--总结
- Measuring BRDFs(BRDF的测量)
闫令琪教授计算机图形学
BRDF
在渲染方程的几个组成成员中,最直接体现光线照射在不同材质物体上时的表现形式的就是BRDF。
在不同的点上可以设置不同的漫反射系数,从而呈现出不同的颜色属性:
Lambertian Material
对于一个漫反射的物体,假设该物体没有自身光源,也没有对光线的吸收,那么对于空间中照射到该点的光线会均匀地漫反射到四周(假设空间中任意照射进来的光线都是均匀的),也就是说,入射光线L(i)等于向周围漫反射的光线的总和Lo(式子中表现为Lo=L(i));又假设入射光线L(i)和BRDF分别各自为一个常数,即可均提取到积分符号之外;而对于红框中的内容,实际上就是对半球上cosθ的一个积分,其结果是派。至此可知:Lo=派 * f( r) * L(i),又知Lo=L(i),则f( r)=1/派即BRDF为1/派,此时的BRDF是指 完全不吸收光线的BRDF 。
定义一个概念叫 albedo(反射率) ,albedo取值位于0~1,而此时使f( r ) = albedo * f( r)时则表示了 正确的漫反射的BRDF的值 :
其它材质的物体
Glossy material
Ideal reflective / refractive material
注意:在以下右图中呈现蓝色,该颜色是玻璃球壳内的颜色,即代表其吸收了部分光线(如果吸收了全部光线则呈现黑色):
反射和折射性质
Perfect Specular Reflection(完美镜面反射)
平行四边形法则可知,入射光线w0+出射光线wi实际上就是wi投影到法线n方向上长度的两倍,由此可以计算出来出射方向w0:
Specular Refraction(镜面折射)— BTDF
Snell’s Law(斯内尔定律) :即入射光处介质的折射率和其与交界面处的正弦值相乘与出射光处介质的折射率和其与交界面处的正弦值的乘积相等:
由此可以计算出出射夹角θ(t) ,同时也可知η(i)>η(t)时即入射光处介质的折射率大于出射光处介质的折射率时,就会出现没有折射的现象,这种现象也就是全反射现象 ( 全反射现象条件:入射介质比出射介质密度更高时出现 ):
Fresnel Reflection / Term(菲涅尔项)
即从不同角度观察某个物体,会发现其发生反射的情况不同:
如下图红线, 对于绝缘体而言 ,如果入射光线完全与物体处于平行状态(即x=90处),则认为其将光线完全反射;而入射光线与物体完全垂直(即x=0),则认为其光线只有少部分被反射,大部分被吸收了:
而对于导体来说 又是另外一种情况:
因此折射率的计算在图形学中一般都是采用了Schlick’s approximation(施利克近似)的计算方法:
Microfacet Material(微表面材质)
如下图的地球来看,太阳照射到的高光处实际上细节是凹凸不平的(如有山河、高低起伏等),但是实际上看到的却是平滑的表面。也就是说只要距离物体足够远的地方,来观察该物体时,只会观察到一个平滑的表面,不管该物体的表面如何粗糙。
通俗理解, 微表面模型就是:从远处看看到的是材质外观,从近处看看到的是几何 。
可以用微表面模型的法线来表示该几何的材质:如果较为集中,就是glossy,较为分散即为粗糙表面:
因此可以得到计算的式子如下,式中F代表菲涅尔项,G为几何项(即在众多的微表面项中由于光方向和观测方向的不同可能有些面会遮挡住周围面从而导致无光线照射到甚至产生阴影。一般是在光几乎近于平行于表面方向入射时会产生这种情况,因此G就是为了修正这些所使用的项),D是涉及到法线的分布值是多少,D(h)中的h是half vector即入射和出射方向的中心值:
Isotropic / Anisotropic Materials (BRDFs)(各向同性/异性材质)
各向同性材质:按照法线分析来看,基本上指向各个方向的法线都有,其分布基本是均匀的,没有一定的方向性;而各向异性则是有一定的方向性:
判断:如果入射光线和出射光线满足按照方位角进行一定旋转后其相对位置不改变的性质,那么该物体就是各向同性(θ(i)和θ( r )是入射光线和出射光线与法线的夹角;Φ(i)和Φ( r )是入射光线和出射光线与平面的方位角):
BRDF–总结
• Non-negativity(非负性)
BRDF的值永远都是非负的(因为能量是不可能为负数的):
• Non-negativity(线性性质)
BRDF都可以用多个模块相加来表示:
• Reciprocity principle(可逆性)
交换入射方向和出射方向,其在严格意义上得到的BRDF值也一定是一样的:
• Energy conservation(能量守恒)
=1的情况是指光线完全未被吸收全部反射的情况:
• • Isotropic vs. anisotropic (各向同性和各向异性)
如果是各向同性的物体来说,其原本的四维f®就可以转换成降阶到三维f®上来,并且由于可逆性的缘故,三维f®中可以不用考虑入射光和出射光的Φ的正负值计算:
Measuring BRDFs(BRDF的测量)
存在问题
之前简单的表示方法(蓝线)可能与实际上测量物体的菲涅尔线存在非常大的差异,即无法用简单的公式来表示真实物体的BRDF:
解决办法
可以固定一个光源,然后移动相机到不同的位置去观测该物体;然后固定相机位置,移动光源到不同方向在观测该物体:
伪代码为:
但是对于四维的矩阵f®而言,遍历时间复杂度是十分高的,因此可以简化操作—>从上面已知的,如果对于各向同性的物体,可以从四维矩阵降到三维矩阵,从指数上将复杂度降低了一阶;而又由于可逆性,可以理解为测量出来的数据有对称的性质,因此又可以将复杂度降低一半。