Advanced Computer Graphics
Classnotes for CMSC740 taught by Matthias Zwicker
Acceleration
How to speed up intersection calculations during ray tracing.
Object Subdivision
Bounding volume hierarchy
- Create a tree where objects are placed together.
- Each node corresponds to a region covering all the objects it has
- You want to insert in some greedy way:
- Minimize the size of each region
- Subtrees may overlap and are unorder
Spacial Subdivision
Octtree, kd tree
Radiometry
Geometrical Optics
- Light are rays which reflect, refract, and scatter
Solid Angle
- Solid angle = area / radius^2 on a sphere
Spectral Radiance
- Spectral radiance is energy per time per wavelength per solid angle per area
- \(\displaystyle L(t, \lambda, \omega, \mathbf{x})=\frac{d^4 Q(t, \lambda, \omega, \mathbf{x})}{dt d\lambda d\omega dA^\perp}\)
- where energy is \(\displaystyle Q(t, \lambda, \omega, \mathbf{x})\)
Radiance
- power per solid angle per area
- \(\displaystyle L(\omega, \mathbf{x}) = \frac{d^2 \Phi(\omega, \mathbf{x})}{d\omega dA^\perp}\)
Irradiance
Radiant Intensity
BRDF, Reflection Integral
Monte Carlo Integration
Suppose we want to estimate \(\displaystyle I_1 = \int_{a}^{b}f(x)dx\).
Then we can use \(\displaystyle \hat{I_1} = \frac{b-a}{N}\sum f(X_i)\) where \(\displaystyle X_1,...,X_n \sim Uniform(a,b)\).
This is because \(\displaystyle E\left[\frac{b-a}{N}\sum f(X_i)\right] = \frac{b-a}{N}\sum E[f(X_i)] = \frac{1}{N}\sum \int_{a}^{b}(b-a)f(x)(1/(b-a))dx = \int_{a}^{b}f(x)dx\)
Note that in general, if we can sample from some distribution with pdf \(\displaystyle p(x)\) then we use the estimator:
- \(\displaystyle \hat{I} = \frac{1}{N} \sum \frac{f(X_i)}{p(X_i)}\)
Importance Sampling
Suppose we can only sample from pdf \(\displaystyle g(x)\) but we want to sample from pdf \(\displaystyle p(x)\) to yield a more reliable (less variance) estimate.
Then we can sample from \(\displaystyle p(x)\) using \(\displaystyle Y = F_{p}^{-1}(F_{g}(X))\).
Then apply the above equation.
Integration
Some notes about integration
- Hemisphere: \(\displaystyle d\omega = \sin \theta d\theta d\phi\) where \(\displaystyle \theta \in [0, \pi/2)\) and \(\displaystyle \phi \in [0, 2\pi)\)
Path Tracing
PDF for sampling light sources
\(\displaystyle p_\omega(x) = \frac{1}{# lights} * \frac{1}{area of light} * conversion\)