Lec 18 Advanced Topics in Rendering
Advanced Light Transport
Monte Carlo Estimators:
- Unbiased: the expected value will always be the correct value.
- Consistent: converges to the correct value
- Biased: not unbiased
Bidirectional Path Tracing (BDPT)
Traces sub-paths from both the camera and the light. Connects the end points from both sub-paths.
BDPT is suitable if the light transport is complex on the light’s side. e.g. the first step is diffusion.
Cons: difficult to implement, slow
Metropolis Light Transport (MLT)
Apply Markov Chain Monte Carlo (MCMC), 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
Cons: difficult to estimate the convergence rate. Usually produces “dirty” results
Photon Mapping
Very good at handling Specular-Diffuse-Specular (SDS) paths and generating caustics
- photon tracing: Emitting photons from the light source, bouncing them around, then recording photons on diffuse surfaces
- photon collection: Shoot sub-paths from the camera, bouncing them around, until they hit diffuse surfaces
- local density estimation: For each shading point, fond the nearest N photons. Take the surfaces area they over.
small N <-> noisy
large N <-> blurry
Why? local density estimation covers an area
More photons emitted -> the same N photons covers a smaller area
- Biased == blurry
- Consistent = not blurry with infinite samples
Vertex Connection and Merging (VCM)
A combination of BDRT and Photon Mapping
Key Idea:
- Not waste the sub-path in BDRT if their end points cannot be connected but can be merged
- Use photon mapping to handle the merging of nearby “photons”
Instant Radiosity (IR)
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
Pros: fast and usually gives good results on diffuse scenes
Cons:
- Spikes will emerge when VPLs are close to shading points
- Cannot handle glossy material
Advanced Appearance Modeling
Participating Media
At any point as light travels through a participating medium, it can be (partially) absorbed and scattered.
Use Phase Function to describe the angular distribution of light scattering at any point x within participating media.
Rendering:
- Randomly choose a direction to bounce
- Randomly choose a distance to go straight
- At each “shading point”, connect to the light
Hair Appearance
Marschner Model:
3 types of light interactions: R, TT, TRT
(R: reflection; T: transmission)
hair: cuticle -> cortex -> medulla (scatter light)
Difference between hair/fur fibers: size of medulla
Double Cylinder Model:
Translucent Material
Subsurface scattering: Visual characteristics of many surfaces caused by light exiting at different points than it enters.
BSSRDF: generalization of BRDF; exitant 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
Dipole Approximation:approximate light diffusion by introducing two point sources
Cloth
fiber -> ply -> yarn (woven or knitted) cloth
Render as BRDF: given the weaving pattern, calculate the overall behavoir
Limitation: cannot render velvet
Render as Participating Media: properties of individual fibers and their distribution -> scattering parameters
Render as Actual Fibers...
Detailed Apprearance
Difficult path sampling problem: missing light
Solution: BRDF over a pixel
Recent Trend: Wave Optics
Procedual Appearance
e.g. Define details without textures: compute a noise function on the fly.
3D noise -> internal structure if cut or broken