Skip to content

09 Advanced Topics in Rendering

Advanced Light Transport#

Biased vs. Unbiased Monte Carlo Estimators#

有偏、渐进无偏和无偏估计

Bidirectional Path Tracing (BDPT)#

500x179

Note

从光源和相机出发,分别形成半路径,然后将半路径连接

500x218

Note

  • 整个场景应该都被间接光照亮,但是 path tracing 的第一次是 diffuse,只有选到了天花板的位置并反射到光源才是亮度像素
  • 如果使用 BDPT,相当于将天花板亮的区域变成一个大的光源了

Metropolis Light Transport (MLT)#

  • 使用 Markov Chain Monte Carlo (MCMC)
  • 根据一个有效的采样点,找到旁边采样点的有效路径(局部搜索)

500x191

500x261

Note

  • 只要找到一条到光源的路径,就能找到更多
  • 能够渲染水底光线聚焦形成的光斑!

Question

  • 难以分析收敛速度
  • 有的像素收敛快,有的收敛慢,可能图像不均匀,比较脏

Photon Maping#

caustics

500x169

  1. 从光源出发,产生光子,进行反射折射,直到光子到达 diffuse 表面的时候“停在”表面上
  2. 从相机出发,对于一个像素,找周围最近的 n 个光子,算出其占据的面积,估计光子密度

500x214

problems

  • n 比较小的时候,非常 noisy
  • n 非常大的时候,会 blurry
    • biased: 光子无限多的情况下,才有 \(\Delta A=\mathrm{d}A\)
    • 只要 blurry 都叫有偏,但确实是 consistent 的

如果取临近小面积呢?

完全有偏估计,因为 \(\Delta A\) 不会缩小

Vertex Connection and Merging (VCM)#

500x206

  • 不浪费 BDPT 中光源发出的光子
  • 使用了 PM 来连接到临近光子

Instant Radiosity (IR)#

500x131

  • 光源出来的 light sub-path 到达的点,作为新的光源 (Virtual Point Lights, VPL)
  • 不能做 glossy 的物体

Advanced Appearance Modeling#

Non-Surface Models#

Participating Media#

fog, cloud

574x135

被吸收或者散射

500x132

Phase Function (相位函数) 定义散射的分布,类似 BRDF

500x160

Hair Appearance#

Marschner Model#

500x361

Note

考虑了三种情况

  • R 直接反射
  • TT 两次折射
  • TRT 入射后反射

500x228

Note

将头发当作玻璃圆柱

problem

无法模拟动物的毛发,动物毛发中的 medulla 更大,与光的作用效果不同

Double Cylinder Model#

551x319

500x258

Granular Material#

颗粒模型

Surface Models#

Translucent Material#

类似玉石、皮肤的半透明材质

455x248

Note

Subsurface Scattering (次表面散射)

500x290

BSSRDF

考虑不从入射点出射,所以还会对面积积分

500x274

Dipole Approximation

表面上下各一个光源,模拟次表面散射的效果

Cloth#

550x317

三种渲染方法

  • 当成物体表面
  • 当成散射介质
  • 暴力计算

Details#

现实生活中的车、水壶等表面并非完全光滑,而是会有划痕细节 or 各向异性纹路

500x310

Note

  • 使用精细的、有噪声的法线贴图来添加细节
  • 解决计算量问题:将一个像素对应到的表面的法线进行平均

Wave Optics#

Procedural Appearance#

噪声 ->贴图

Comments