Title: CS 655 Computer Graphics
1CS 655 Computer Graphics
2Ray Tracing Basics
- General idea
- Forward vs. Backward ray tracing
- Primary rays
- Intersection calculations
- sphere
- plane
- polygon
- even/odd rule
- box
- quadric
3Ray Tracing Basics II
- Reflection rays
- Transmission rays
- Indices of refraction
- Shadow rays
- The Ray Tree
- Computing a pixel color
4Ray Tracing Improvements - Antialiasing
- Why does aliasing occur?
- Antialiasing approaches
- Supersampling
- Send multiple rays per pixel
- Average the results for the sub-pixels
- Adaptive Sampling
- Supersample near object edges
- Leave non-aliased areas at lower sampling
resolution - Cone Tracing
- Rather than sending a ray, send a cone
- Makes computation difficult, but gives nice
results - Beam Tracing
- Similar to cone tracing, but a pyramidal beam is
sent instead - Pencil Tracing
- Send out an axial ray and a group of paraxial rays
5Disributed Ray Tracing
- Idea Introduce noise into the ray traced scene
to reduce aliasing, perfect reflections, etc. - Rays (primary or secondary) are stochastically
jittered from their original direction
6Disributed Ray Tracing II
- Distribute rays over
- Space
- Antialiases the image
- Send jittered rays through subpixels
- Reflection angle
- Gives glossy reflections
- Transmission angle
- Gives translucency
- Shadow Ray
- Gives soft shadows
- Lens Area
- To simulate depth of field
- Time
- For motion blur
7Ray Tracing Optimizations
- Attempt to improve the ray tracer in some
fashion - Reduce intersection time
- Reduce the number of intersections performed
- Use general entities rather than single discrete
rays
8Bounding Volumes
- Replace expensive intersection computations with
cheaper ones - Increases the total number of intersection
computations - Hopefully reduces the overall time required for
intersection calculation - Various objects can be used for the bounding
volume - Sphere
- Axis aligned box
- Non-axis aligned box
- Union of bounding boxes
- Intersection of slabs
9Bounding Volume Hierarchies
- Surround each object in a bounding volume
- Group the volumes into a hierarchy
- Perform intersection tests against nodes in the
hierarchy - If the ray misses a node, you dont need to
intersect against objects down that branch
10Bounding Volume Hierarchies
- Goldsmith and Salmon algorithm
- 3D Spatial Subdivision approaches
- Uniform Spatial Subdivision
- Use 3DDDA to traverse
- Simple computation, but the structure may not fit
the data well - Non-Uniform Spatial Subdivision
- Octree
- BSP Tree
- Median Split
- Direction Cube
- Shadow buffer
11Ray Tracing Acceleration Summary
Acceleration Techniques
Faster Intersections
Fewer Rays
Generalized Rays
Faster Ray/Object Intersections
Fewer Ray/Object Intersections
- Object
- Bounding
- Volumes
- Efficient
- intersectors
- Bounding
- Volume
- Hierarchies
- Space
- Subdivision
- Directional
- Techniques
- Adaptive
- Tree Depth
- Control
- Statistical
- Optimizations
- Beam
- Tracing
- Cone
- Tracing
- Pencil
- Tracing
12The Rendering Equation
13The Rendering Equation II
- How well do various rendering techniques fit into
the rendering equation?
14Path Tracing
- Send a ray through a pixel
- Trace the ray to its first intersected object
- From the intersected object, send out
- One ray to each light source
- One additional ray
- a diffusely reflected ray,
- a specularly reflected ray, or
- a transmissive ray
- Trace the ray and recursively follow it, as above
- Produces a ray path not a ray tree
15Radiosity
- An attempt to deal with diffuse interactions in
an environment - Assume a closed environment
- Determine how much light is transmitted between
all pairs of patches in the environment
16The Radiosity Solution
17Substructuring
- Idea
- Divide areas of large change into smaller
elements - Compute patch radiosities
- Compute element radiosities assuming that all
other patches remain undivided - To compute this, we must first compute
element-to-patch form factors and patch
radiosities
18Substructuring Summary
- Compute element-to-patch
- form factors
- Compute patch-to-patch
- form factors
- Solve for patch radiosities
- Compute element
- radiosities
19Progressive Refinement Radiosity
- Rearrange the radiosity equation so that at each
iteration you shoot all energy from one patch to
all other patches, rather than gathering all
energy from all patches to one patch
Standard Radiosity
Progressive Refinement
20Progressive Refinement with Ambient
- Progressive refinement images will be too dark in
the early stages - We can add some ambient light into the
environment, then reduce it as we get closer to
the actual solution
21Radiosity Terminology
- Gathering
- Standard radiosity at each iteration, one
patchs radiosity is updated by accounting for
contributions from all other patches - Shooting
- the technique used in progressive refinement in
which at each iteration, one patch shoots its
energy and all patches that receive energy from
that one are updated - Shooting and ambient
- An ambient term is introduced to lessen the
variation in the image from iteration to
iteration. As the solution converges, the
ambient term goes away
22Form Factor Computation
- Form Factor the fraction of energy leaving one
patch that arrives at another patch - Expensive to compute
- Analytic solutions
- Too difficult
- Numeric solutions
- Hemicube
- Hemisphere
- Single plane
- Monte Carlo methods
- Hierarchic methods
23Global Illumination
- How do we get both specular and diffuse
interactions? - What strengths and weaknesses to our current
rendering approaches have? - Rushmeier and Torrance two pass method
- Diffuse transmission
- Specular transmission
- Specular reflection
- Sillion and Puechs approach
24Photon Mapping
- What is it?
- Photon maps
- Caustic photon map
- Global photon map
- Rendering with photon maps
25Image Based Modeling and Rendering
- What it is
- Why is it interesting
- Using images to create 3D models, or to render an
environment - Each of the papers covered in class
26IBMR Papers
- QuickTime VR
- View Interpolation for Image Synthesis
- Plenoptic Modeling
- Plenoptic Stitching
- Modeling and Rendering Architecture from
Photographs - View Morphing
- Rendering with Concentric Mosaics
- Multiple Center-of-Projection Images
- Video Mosaics for Virtual Environments
- The Lumigraph
- Light Field Rendering
- Layered Depth Images
- LDI Trees
- Tour Into The Picture
27Metropolis Light Transport
- Statistical approach to global illumination
- Uses the idea of detailed balance
- Follow paths of light through the scene
- The path to follow is determined based on
mutations and probability distribution of the
light - Implicit and explicit light paths
- Evaluating light paths
- Mutation strategies
- Bidirectional path tracing
28Volume Modeling and Rendering
- Data storage considerations
- Contours
- Isosurface rendering
- Marching Cubes
- Edge intersection table
- Normal calculation
- Volume rendering
- Cast ray through volume accumulating as you go
- Efficient processing of rays
- Computing next cell intersected
29Non Photorealistic Rendering
- Pen and Ink Illustration
- Strokes
- Texture
- Tone
- Outline
- Painterly Rendering
- Physical simulation
- Automatic painting
- Cartoons
- Using graftals
- Technical Illustrations
- Scientific Visualization