Title: Last Time
1Last Time
- Ray-tracing implementation
- Recall the light paths that ray-tracing captures
- Technically, we are talking about eye ray
tracing, which traces rays originating at the
eye - Some people use the terms forward or backward
ray-tracing, but there is no agreement in which
direction is forward!
2Which paths are present? Which paths are missing?
Ray-traced Cornell box, due to Henrik
Jensen, http//www.gk.dtu.dk/hwj
3(No Transcript)
4Today
- Rendering algorithms that capture other light
paths - Distribution ray-tracing
- Radiosity
- Bi-directional ray tracing
5Ray-Tracing and Sampling
- Basic ray-tracing casts one ray through each
pixel, sends one ray for each reflection, one ray
for each point light, etc - This represents a single sample for each point,
and for an animation, a single sample for each
frame - Many important effects require more samples
- Motion blur A photograph of a moving object
smears the object across the film (longer
exposure, more motion blur) - Depth of Field Objects not located at the focal
distance appear blurred when viewed through a
real lens system - Rough reflections Reflections in a rough surface
appear blurred
6Distribution Raytracing
- Distribution raytracing casts more than one ray
for each sample - Originally called distributed raytracing, but the
names confusing - How would you sample to get motion blur?
- How would you sample to get rough reflections?
- How would you sample to get depth of field?
7Distribution Raytracing
Depth of Field
From Alan Watt, 3D Computer Graphics
8Missing Paths
- Basic recursive raytracing cannot do
- LSDE Light bouncing off a shiny surface like a
mirror and illuminating a diffuse surface - LDE Light bouncing off one diffuse surface to
illuminate others - Basic problem The raytracer doesnt know where
to send rays out of the diffuse surface to
capture the incoming light - Also a problem for rough specular reflection
- Fuzzy reflections in rough shiny objects
9Bi-directional Raytracing
- Cast rays from the light sources out into the
scene - When a ray hits a diffuse surface, accumulate
some light there - Surfaces record the amount of light that hits
them - Store the light in texture maps
- Store the light in quadtrees
- Store the light in photon maps
- Cast rays from the eye out into the scene
- When a ray hits a diffuse surface, look up the
amount of light that hit it in the light-ray
phase - What paths does it capture?
- What sort of visual effects do you see?
10Caustics
Standard raytracer Diffuse table and blue ball,
mirrors left, right and back, transparent red ball
Bi-directional raytracer
More rays in the light pass
Note the LSDSE paths
From Alan Watt, 3D Computer Graphics
11Refraction caustic
Henrik wann Jensen, http//www.gk.dtu.dk/hwj
12Refraction caustics
Henrik wann Jensen, http//www.gk.dtu.dk/hwj
13Still Missing
- LDE paths Diffuse-diffuse transport
- Formulated and solved with radiosity methods
- L(SD)E paths
- Solved with Monte-Carlo renderers very very
inefficient - Also solvable with multi-pass methods, but also
very very inefficient, and subject to aliasing - An unsolved (unsolvable?) problem
14Real World LDE Paths
From Alan Watt, 3D Computer Graphics
15Radiosity Assumptions
- All surfaces are perfectly diffuse
- Means that is doesnt matter which way light hits
or leaves a surface - Illumination is constant over a patch
- Can break the world up into a discrete number of
pieces - Problems at sharp illumination boundaries -
shadows - Ways around these problems, but less efficient
and less able to manage scene complexity - Assumptions allow us to solve for LDE paths
16Radiosity Equation
- Derived from the global illumination equation
using radiosity assumptions - Bi is the radiosity (brightness) of patch i
- ?i is the diffuse reflection coefficient
- Fij is the form factor, which quantifies how much
light patch j contributes to patch i - The brightness of each patch depends on how much
light it gets from all the others, and its
diffuse reflection
17Solving the Radiosity Eqn
- Radiosity algorithms use one of several methods
to solve the radiosity equation - Basically a very large linear system, so
techniques can all be mapped onto linear system
solvers - A large part of the computation is in finding
form factors - Describe how much light gets from each patch to
every other patch - Geometric in nature - do not depend on the
illumination, just the layout of the scene - Another key factor is finding good meshing
strategies - ways of laying out the patches
18Radiosity Example
- Color bleeding is extreme in this example
- Textures are applied after solving for
illumination - Some meshing artifacts are visible - note the
banding around the pictures on the wall
From Alan Watt, 3D Computer Graphics
19Radiosity Meshing
- Each patch is colored with its illumination
- Note the discrete nature of the solution
- The previous image was obtained by pushing color
to vertices and then Gourand shading
From Alan Watt, 3D Computer Graphics