09 Advanced Topics in Rendering
Advanced Light Transport#
Biased vs. Unbiased Monte Carlo Estimators#
有偏、渐进无偏和无偏估计
Bidirectional Path Tracing (BDPT)#
Note
从光源和相机出发,分别形成半路径,然后将半路径连接
Note
- 整个场景应该都被间接光照亮,但是 path tracing 的第一次是 diffuse,只有选到了天花板的位置并反射到光源才是亮度像素
- 如果使用 BDPT,相当于将天花板亮的区域变成一个大的光源了
Metropolis Light Transport (MLT)#
- 使用 Markov Chain Monte Carlo (MCMC)
- 根据一个有效的采样点,找到旁边采样点的有效路径(局部搜索)
Note
- 只要找到一条到光源的路径,就能找到更多
- 能够渲染水底光线聚焦形成的光斑!
Question
- 难以分析收敛速度
- 有的像素收敛快,有的收敛慢,可能图像不均匀,比较脏
Photon Maping#
caustics
- 从光源出发,产生光子,进行反射折射,直到光子到达 diffuse 表面的时候“停在”表面上
- 从相机出发,对于一个像素,找周围最近的 n 个光子,算出其占据的面积,估计光子密度
problems
- n 比较小的时候,非常 noisy
- n 非常大的时候,会 blurry
- biased: 光子无限多的情况下,才有 \(\Delta A=\mathrm{d}A\)
- 只要 blurry 都叫有偏,但确实是 consistent 的
如果取临近小面积呢?
完全有偏估计,因为 \(\Delta A\) 不会缩小
Vertex Connection and Merging (VCM)#
- 不浪费 BDPT 中光源发出的光子
- 使用了 PM 来连接到临近光子
Instant Radiosity (IR)#
- 光源出来的 light sub-path 到达的点,作为新的光源 (Virtual Point Lights, VPL)
-
不能做 glossy 的物体
Advanced Appearance Modeling#
Non-Surface Models#
Participating Media#
fog, cloud
被吸收或者散射
Phase Function (相位函数) 定义散射的分布,类似 BRDF
Hair Appearance#
Marschner Model#
Note
考虑了三种情况
- R 直接反射
- TT 两次折射
- TRT 入射后反射
Note
将头发当作玻璃圆柱
problem
无法模拟动物的毛发,动物毛发中的 medulla 更大,与光的作用效果不同
Double Cylinder Model#
Granular Material#
颗粒模型
Surface Models#
Translucent Material#
类似玉石、皮肤的半透明材质
Note
Subsurface Scattering (次表面散射)
BSSRDF
考虑不从入射点出射,所以还会对面积积分
Dipole Approximation
表面上下各一个光源,模拟次表面散射的效果
Cloth#
三种渲染方法
- 当成物体表面
- 当成散射介质
- 暴力计算
Details#
现实生活中的车、水壶等表面并非完全光滑,而是会有划痕细节 or 各向异性纹路
Note
- 使用精细的、有噪声的法线贴图来添加细节
- 解决计算量问题:将一个像素对应到的表面的法线进行平均
Wave Optics#
Procedural Appearance#
噪声 ->贴图