Lecture 17:Materials and Appearances
自然材质的外观
- 不同的光线和不同的材质共同作用的结果
- 散射
- 头发
- 布
- 蝴蝶翅膀的鳞片
- 次表面散射
在图形学中什么是材质?
- 渲染方程中的BRDF决定了材质!
- Material == BRDF
漫反射材质
- 定义:假设进来和反射的光都是uniform,可以利用能量守恒定律,假设物体不吸收光(是白的)
- 假设BRDF和入射的radiance都是常数
- 得出BRDF为 1/Π,此时是完全不吸收能量的BRDF,ρ则可以引入反射率(albedo)即为材质颜色
Glossy材质(带点儿镜面的材质)
Ideal reflective/refractive 材质
- 玻璃 / 水
- 右边的颜色,在材质中的能量会部分被吸收
反射 reflection
- 完美的镜面反射:反射公式的两种理解表示,从侧视和俯视看
- 结果
- 镜面反射对应的BRDF的值是多少?这个问题很难!
折射 refraction
- 仍然按照光线考虑
- 上图右下角被称为caustics,由于光线打到凹凸不平的海水表面
- Snell’s Law 折射定律
- 不同的材质具有不同的折射率
- 不同的材质具有不同的折射率
- 计算折射角的余弦
- 当根号内部小于零时折射无意义,不会发生折射(入射介质的折射率大于折射介质的折射率,发生全反射)
- 当根号内部小于零时折射无意义,不会发生折射(入射介质的折射率大于折射介质的折射率,发生全反射)
- Snell’s Window / Circle
- 对于ray tracing 球不会出现这中情况,但别的可能会
- 对于ray tracing 球不会出现这中情况,但别的可能会
- 折射对应的BRDF(实际叫BTDF)
- BSDF = BRDF + BTDF(S表示散射,是折射和反射的统称)
Fresnel Reflection / Term(菲涅尔项)
- 有多少能量被反射与入射光的角度有关,通过菲涅尔项决定
- S P 是两个不同方向的极化,红线是二者的平均
- 上图是对于一种绝缘体,下图是对于导体
- 导体在任何时候反射率都很高
- 菲涅尔项怎么算?准确与简化方法:
Microfacet Material(微表面材质)
- 当我们离得足够远,微小的东西看不到,看的是总体效应
- 远处看是平的、粗糙的
- 近处看凹凸不平,而且表面的微元认为是镜面反射,每一个微表面有自己的法线
Microfacet BRDF
- 两种情况,把表面的粗糙程度用法线分部表示
- 具体做法(三项最重要):
- 菲涅尔项
- 法线分布(由用到半程向量,对半程向量和法线相同的数目进行查询)
- 微表面的彼此遮挡(几乎和面平行进入的光容易发生这种情况)
- 渲染例子
Isotropic / Anisotropic Materials(BRDFs)
- 出现这种情况的原因
- 各项同性材质 / 各项异性材质
- 材质是否具有方向性?
- 反映在BRDF上?
- 在绝对方位角上旋转后BRDF变了 ,就是各项同性,否则就是各项异性
- 在绝对方位角上旋转后BRDF变了 ,就是各项同性,否则就是各项异性
- 生活中有很多各向异性材质,大多是认为的
- 不锈钢锅表面、光碟等
- 尼龙,布料的织法——很接近各项同性
- 天鹅绒——几乎不改当成材质表面,如果当成的话,拨到某一个方向出现各向异性
BRDF的一些属性
- Non-negativity 非负性
- Linearity 线性性质,直接加
- Reciprocity principle 可逆性,交换出入射方向的角色,BRDF的值一模一样
- Energy conservation 能量守恒定律,可以变小(被吸收),不会变多
- 各向同性 vs. 各向异性
- 如果四维,各项同性就变成三维了
- 所有的BRDF都有可逆性,相对的方位角不用考虑谁大谁小,绝对值即可
测量BRDF
- BRDF就是两个方向的函数
- 这么测的(直径两三米)
- 枚举然后测,但是数据量太大了
- 但如果认为各向同性,4维可以3维
- 可以猜出来
- 。。。
- 表示测量的BRDF
- 一个著名的BRDF的库——MERL BRDF Database:测量了许多不同各向同性材质的BRDF(1.0版本,测量数目见图)