Materials and Appearances
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SOfqDzAo-1652168424337)(https://cdn.jsdelivr.net/gh/NEUQer-xing/Markdown_images/images/20220510153957.png)]
研究材质如何与光线进行作用 == BRDF
BRDF是双向反射分布函数(Bidirectional Reflectance Distribution Function,BRDF)
用来定义给定入射方向上的辐射照度(irradiance),如何影响给定出射方向上的辐射率(radiance)。
更笼统地说,它描述了入射光线经过某个表面反射后如何在各个出射方向上分布
——这可以是从“理想镜面反射”到“漫反射”、“各向同性(isotropic)”或者“各向异性(anisotropic)”的各种反射。
漫反射材质 Diffuse / Lambertian Material (BRDF)
光泽材质 Glossy material (BRDF)
反射情况介于镜面反射和漫反射之间的材质,我们称为Glossy material
理想反射/折射材质 Ideal reflective / refractive material (BSDF*)
反射和折射都有的材料的,类似玻璃与水,我们称之为 Ideal reflective / refractive material
完美镜面反射 Perfect Specular Reflection
镜面折射 Specular Refraction
白光分解成彩虹:折射率不同
海水的折射,Caustics
如果计算折射角的余弦的话:
双向散射分布函数 (Bidirectional scattering distribution function, BSDF)
折射也需要对应一种 “BRDF”但是我们知道BRDF的R是反射(Reflectance)所以折射应该叫BTDFT为折射(Transmittance)把这两个统称起来我们可以叫做BSDF,S表示散射(Scattering)
不管反射折射我们都认为是一种散射
BSDF(散射) = BRDF(反射) + BTDF(折射)
菲涅尔项 Fresnel Reflection / Term
一本书靠在墙边,我们从上到下不同视角看它
我们发现一个问题,我们类似垂直看下去,几乎看不到什么反射
但是几乎平着看过去,反射特别明显
所以有多少光被反射,是和入射光与法线的角度有关系的
用菲涅尔项我们就可以判定有多少能量被反射,有多少能量被折射
如何计算菲涅尔项:
微表面模型 Microfacet Material
这个模型就是描述了一件这样的事情:
离得足够远的时候,微小的东西往往看不见,看见的是最后汇聚起来总体的样子
我们可以研究这些微表面本身法线的分布,这些分布可以代表不同粗糙程度的材质
微表面模型的BRDF
F为菲涅尔项,考虑入射和半程向量
D为法线分布,考虑查询半程向量是否在法线分布上
G为几何项,考虑可能发生互相遮挡,有些微表面会失去它的作用。在几乎和表面平行的光线上容易发生互相遮挡的现象,我们把这种光线角度称Grazing Angle,G这一项就是为了修正它,让它不要过亮
各向同性/各向异性材质(BRDFs) Isotropic / Anisotropic Materials (BRDFs)
各向同性和各向异性是指物理性质在不同的方向进行测量得到的结论。
如果各个方向的测量结果是相同的,说明其物理性质与取向无关,就称为各向同性。
如果物理性质和取向密切相关,不同取向的测量结果迥异,就称为各向异性。
所以也就有这里的:
各向同性,它的微表面并不存在一定的方向性,所以,对于这种材质来说,各个方向上的物理性质基本是相同的
但,对于各向异性,我们由于它微表面存在方向性,所以在选择不同的方向上进行观测所得出的结果会很不一样,所以说,这个就是各向异性的
总结
BRDF双向反射分布函数:描述了入射光线经过某个表面反射后如何在各个出射方向上分布
具有以下几种性质:
- 非负Non-negativity:描述能量分布
- 线性Linearity:可加,组合
- 可逆性Reciprocity principle:交换入射和出射,结果一致
- 能量守恒Energy conservation:能量要么前后一致,要么变小(被吸收),最后的能量结果是收敛的
- 各向同性:BRDF只与相对方位角有关
- 根据可逆性,BRDF可以不用考虑方位角的大小,只需要他们差的绝对值,便于储存
测量BRDF
实际测量出来的BRDF和推算出来的BRDF经常会有很大差距
如果可以测量的话,也就不用推导模型,直接用数据了
盯住一个着色点,给定入射出射的方向进行测量