9.Advanced Topics in Rendering

Advanced Light Transport

  • Unbiased light transport methods:

    • Bidirectional path tracing (BDPT)
    • Metropolis light transport (MLT)
  • Biased light transport methods

    • Photon mapping
    • Vertex connection and merging (VCM)
  • Instant radiosity (VPL / many light methods)

An unbiased Monte Carlo technique does not have any systematic error. The expected value of an unbiased estimator will always be the correct value, no matter how many samples.

Otherwise, biased. One special case, the expected value converges to the correct value as infinite #samples are used — consistent

Unbiased Light Transport

Bidirectional Path Tracing (BDPT)

  • Traces sub-paths from both the camera and the light
  • Connects the end points from both sub-paths

pCCgDoj.md.png

  • Suitable if the light transport is complex on the light's side
  • Difficult to implement & quite slow

pCCgTYR.md.png

Metropolis Light Transport (MLT)

  • A Markov Chain Monte Carlo (MCMC) application. Jumping from the current sample to the next with some PDF
  • Very good at locally exploring difficult light paths
  • Key idea: Locally perturb an existing path to get a new path

pCC2lcV.md.png

Pros:

  • Works great with difficult light paths
  • Also unbiased

pCC2yHe.md.png

Cons:

  • Difficult to estimate the convergence rate
  • Does not guarantee equal convergence rate per pixel
  • So, usually produces "dirty" results
  • Therefore, usually not used to render animations

pCC2oDS.md.png

Biased Light Transport

Photon Mapping

  • A biased approach & A two-stage method
  • very good at handling Specular-Diffuse-Specular (SDS) paths and generating caustics

pCC2bNj.md.png

Approach:

  1. Photon Tracing: Emitting photons from the light source, bouncing them around, then recording photons on diffuse surfaces

    pCC2vvV.png

  2. Photon Collection (final gathering): Shoot sub-paths from the camera, bouncing them around, until they hit diffuse surfaces

  3. Calculation: local density estimation

    Idea: areas with more photons should be brighter

    For each shading point, find the nearest N photons, Take the surface area they over

    Small N <-> noisy; Large N <-> blurry

    pCCR82t.md.png

Why biased:

  • local density estimation , But in the sense of limit

    • More photons emitted
    • the same N photons covers a smaller
    • is closer to
  • So, biased but consistent!

Vertex Connection And Merging (VCM)

  • A combination of BDPT and Photon Mapping

  • Key idea:

    • Let's not waste the sub-paths in BDPT if their end points cannot be connected but can be merged
    • Use photon mapping to handle the merging of nearby "photons"

pCCWkdg.md.png

Instant Radiosity (IR)

  • Sometimes also called many-light approaches

  • Key idea: Lit surfaces can be treated as light sources

  • Approach:

    • Shoot light sub-paths and assume the end point of each sub-path is a Virtual Point Light (VPL)
    • Render the scene as usual using these VPLs

pCCfsBT.md.png

Pros: fast and usually gives good results on diffuse scenes

Cons:

  • Spikes will emerge when VPLs are close to shading points
  • Cannot handle glossy materials

Advanced Appearance Modeling

  • Non-surface models

    • Participating media
    • Hair / fur / fiber (BCSDF)
    • Granular material
  • Surface models

    • Translucent material (BSSRDF)
    • Cloth
    • Detailed material (non-statistical BRDF)
  • Procedural appearance

Non-Surface Models

Participating Media

At any point as light travels through a participating medium, it can be (partially) absorbed and scattered.

pCCf0cq.md.png

Use Phase Function to describe the angular distribution of light scattering at any point x within participating media.

pCCfOCd.md.png

Rendering

  • Randomly choose a direction to bounce
  • Randomly choose a distance to go straight
  • At each 'shading point', connect to the light

pCPWBVS.md.png

Hair / Fur / Fiber (BCSDF)

Hair

Kajiya-Kay Model

pCPWyCj.md.png

The effect is not good

Marschner Model

pCPW68s.md.png

  • Glass-lick cylinderpCPWc2n.png

  • 3 types of light interactions: R, TT, TRT (R: reflection, T: transmission)

    pCPWRK0.md.png

Fur

Fur appearance as human hair: Cannot represent diffusive and saturated appearance

Double Cylinder Model

pCPWfbT.md.png

  • Lobes

    pCPWTPJ.md.png

Granular Material

pCPWbx1.md.png

Explicit modeling of all granules with procedural definition.

pCPWXqK.md.png

Surface Models

Translucent Material (BSSRDF)

Subsurface Scattering: Visual characteristics of many surfaces caused by light exiting at different points than it enters. Violates a fundamental assumption of the BRDF

Scattering Functions

  • BSSRDF: generalization of BRDF; exit radiance at one point due to incident differential irradiance at another point:

  • Generalization of rendering equation: integrating over all points on the surface and all directions

    pCPfCRA.png

Dipole Approximation: Approximate light diffusion by introducing two point sources.

pCPfPxI.md.png

Cloth

  • A collection of twisted fibers

  • Two levels of twist

    pCPfksP.md.png

  • Woven of knitted

Render as Surface

  • Given the weaving pattern, calculate the overall behavior
  • Render using a BRDF

Render as Participating Media

  • Properties of individual fibers & their distribution -> scattering parameters
  • Render as a participating medium

Render as Actual Fibers

  • Render every fiber explicitly.

Detailed Material (non-statistical BRDF)

Statistical NDF vs. Actual NDF pCPfniQ.md.png

Difficult path sampling problem pCPfMzn.md.png

Solution: BRDF over a pixel pCPf3LV.md.png

Procedural Appearance

Can we define details without textures?

  • Compute a noise function on the fly

  • 3D noise -> internal structure if cut or broken

    if noise(x,y,z) > threshold
        reflectance = 1
    else
        reflectance = 0
    

     

Last modification:September 26, 2023
希望能帮到你(^-^)V