1 / 18

CMSC 635

CMSC 635. Ray Tracing. Basic idea. Plug parametric ray into implicit shape Plug parametric shape into implicit ray Solve implicit ray = implicit shape. Intersection approaches. Transform to cannonical ray (0,0,0)–(0,0,1) Transform to cannonical object Ellipsoid to unit sphere at (0,0,0)

molvera
Download Presentation

CMSC 635

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CMSC 635 Ray Tracing

  2. Basic idea

  3. Plug parametric ray into implicit shape Plug parametric shape into implicit ray Solve implicit ray = implicit shape Intersection approaches

  4. 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 Making it easier

  5. Pixels ~103 to ~107 Rays per Pixel 1 to ~10 Primitives ~10 to ~107 Every ray vs. every primitive ~104 to ~1015 How many intersections?

  6. Faster intersections Fewer intersections Speedups

  7. Object-based Space-based Image-based Fewer intersections

  8. Bounding spheres AABB OBB Slabs Object: bounding hierarchy

  9. Very fast to intersect Hard to fit Poor fit Bounding spheres

  10. Fast to intersect Easy to fit Reasonable fit AABB

  11. Pretty fast to intersect Harder to fit Eigenvectors of covariance matrix Iterative minimization Good fit OBB

  12. Families of planes Fast intersection Slabs

  13. Slabs Uniform grid Octtree BSP Space: partitioning

  14. Coherence Light buffer (avoid shadow rays) Pencil tracing/cone tracing Image approximation Truncate ray tree Successive refinement Contrast-driven antialiasing Image

  15. Object-based Decide ray doesn’t intersect early Space-based Partial order of intersection tests Image-based Ray-to-ray coherence Algorithmic improvements

  16. 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 Faster intersections

  17. Distribute pixels Distribute rays Distribute objects Parallel intersections

  18. Load balancing Scattered rays, blocks, lines, ray queues Culling Communication costs Database Ray requests Ray results Parallel intersections

More Related