0% found this document useful (0 votes)
10 views

raytrace

The document discusses ray tracing techniques, focusing on intersection approaches, speedups, and algorithmic improvements. It highlights methods for reducing the number of intersections through object-based, space-based, and image-based strategies, as well as various bounding hierarchies. Additionally, it covers parallel processing techniques for efficient ray tracing execution.

Uploaded by

joyaluca2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

raytrace

The document discusses ray tracing techniques, focusing on intersection approaches, speedups, and algorithmic improvements. It highlights methods for reducing the number of intersections through object-based, space-based, and image-based strategies, as well as various bounding hierarchies. Additionally, it covers parallel processing techniques for efficient ray tracing execution.

Uploaded by

joyaluca2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 18

CMSC 635

Ray Tracing
Basic idea
Intersection approaches
 Plug parametric ray into implicit shape
 Plug parametric shape into implicit ray
 Solve implicit ray = implicit shape
Making it easier
 Transform to cannonical ray
 (0,0,0)–(0,0,1)
 Transform to cannonical object
 Ellipsoid to unit sphere at (0,0,0)
 Compute in stages
 Polygon plane, then polygon edges
 Numerical iteration
How many intersections?
 Pixels
 ~1033 to ~1077
 Rays per Pixel
 1 to ~10
 Primitives
 ~10 to ~1077
 Every ray vs. every primitive
 ~1044 to ~1015
15
Speedups
 Faster intersections
 Fewer intersections
Fewer intersections
 Object-based
 Space-based
 Image-based
Object: bounding
hierarchy
 Bounding spheres
 AABB
 OBB
 Slabs
Bounding spheres
 Very fast to intersect
 Hard to fit
 Poor fit
AABB
 Fast to intersect
 Easy to fit
 Reasonable fit
OBB
 Pretty fast to intersect
 Harder to fit
 Eigenvectors of covariance matrix
 Iterative minimization
 Good fit
Slabs
 Families of planes
 Fast intersection
Space: partitioning
 Slabs
 Uniform grid
 Octtree
 BSP
Image
 Coherence
 Light buffer (avoid shadow rays)
 Pencil tracing/cone tracing
 Image approximation
 Truncate ray tree
 Successive refinement
 Contrast-driven antialiasing
Algorithmic improvements
 Object-based
 Decide ray doesn’t intersect early
 Space-based
 Partial order of intersection tests
 Image-based
 Ray-to-ray coherence
Faster intersections
 Precompute and store with object
 Cache results from previous tests
 Stop early for reject
 Postpone expensive operations
 Reject then normalize
 If a cheap approximate test exists, do it first
 Sphere / box / separating axes / …
 Project to fewer dimensions
Parallel intersections
 Distribute pixels
 Distribute rays
 Distribute objects
Parallel intersections
 Load balancing
 Scattered rays, blocks, lines, ray queues
 Culling
 Communication costs
 Database
 Ray requests
 Ray results

You might also like