文章目录
- 高级外观建模 Advanced Appearance Modeling
- 参与介质 Participating Media
- 毛发外观 Hair Appearance
- Marschner Model
- Double Cylinder Model
- 颗粒材料 Granular Material
- 透光材质 Translucent Material
- Dipole Approximation
- 布料 Cloth
- 当作表面进行渲染
- 当作参与介质渲染
- 当作实际纤维渲染
- 波动光学 Wave Optics
- 程序化表面 Procedural Appearance
高级外观建模 Advanced Appearance Modeling
参与介质 Participating Media
光线传播途中遇到参与介质,可能被吸收或者分散。
用相位函数 Phase Function 来描述如何散射。
如何渲染?
- 随机选择一个方向弹射
- 随机选择一定距离传播
- 连接每一个着色点形成光路
毛发外观 Hair Appearance
Marschner Model
在 Marschner Model 中,光线与毛发有三种作用:R(直接反射)、TT(直接穿透)与TRT(穿透一层反射再穿透)。
用来表现人的头发最终效果非常好
Double Cylinder Model
Marschner Model 用在动物毛发上效果并不好
这是因为动物毛发与人的头发在生理结构上有一定差别
头发由表皮 Cuticle、皮层 Cortex 和髓质 Medulla 组成,其中髓质分散光线,表皮吸收光线。我们发现美洲豹的髓质比人大得多。所以有了双层圆柱模型:
其中 TTs 与 TRTs 是穿过髓质形成散射的项。
颗粒材料 Granular Material
我们可以避免显示地对每一个颗粒进行建模吗?是可以的,每一个单元认为是以不同比例成分组成的。
透光材质 Translucent Material
许多表面的视觉特征,这是由于光的入射点与出射点不一致所造成的,光在进入透光材质内部后不断散射后才出射,这与 BRDF 的基本假设相违背。
为了描述这一种现象,引入 BSSRDF :由一点辐射照度引起的另一点出射辐射亮度
S(xi,wi;xo,wo)S(x_i, w_i;x_o,w_o) S(xi,wi;xo,wo)
渲染方程的推广:对表面上所有点和所有方向进行积分
L(xo,ωo)=∫A∫H2S(xi,ωi,xo,ωo)Li(xi,ωi)cosθidωidAL\left(x_{o}, \omega_{o}\right)=\int_{A} \int_{H^{2}} S\left(x_{i}, \omega_{i}, x_{o}, \omega_{o}\right) L_{i}\left(x_{i}, \omega_{i}\right) \cos \theta_{i} \mathrm{~d} \omega_{i} \mathrm{~d} A L(xo,ωo)=∫A∫H2S(xi,ωi,xo,ωo)Li(xi,ωi)cosθi dωi dA
Dipole Approximation
通过引入两点光源近似光扩散。
布料 Cloth
扭曲的纤维 fiber 组成股 Ply,股再组成线 Yarn。
当作表面进行渲染
给定编织模式,利用 BRDF 渲染
当作参与介质渲染
单根光纤的特性及其分布得到其散射参数
当作实际纤维渲染
显示渲染每一根纤维。
波动光学 Wave Optics
一个光源照射的实际照片放大后发现每一个像素并不是一个颜色,这是得用波动光学来解释的
利用波动光学得到的 BRDF 与几何光学得到的相比,波动光学的是不连续的
程序化表面 Procedural Appearance
除了纹理,我们还可以用噪声函数定义表面(直接查)。
阈值转换法计算二进制噪声
if noise(x, y, z) > threshold:reflectance = 1
else:reflectance = 0
可用于生成山体、水体