1 / 47

Anti-aliased and accelerated ray tracing

Anti-aliased and accelerated ray tracing. Reading. Required: Watt, sections 12.5.3 – 12.5.4, 14.7 Further reading: A. Glassner. An Introduction to Ray Tracing. Academic Press, 1989. [In the lab.]. Aliasing in rendering.

linnea
Télécharger la présentation

Anti-aliased and accelerated ray tracing

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. Anti-aliased and accelerated ray tracing

  2. Reading • Required: • Watt, sections 12.5.3 – 12.5.4, 14.7 • Further reading: • A. Glassner. An Introduction to Ray Tracing. Academic Press, 1989. [In the lab.] University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 2

  3. Aliasing in rendering • One of the most common rendering artifacts is the “jaggies”. Consider rendering a white polygon against a black background: • We would instead like to get a smoother transition: University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 3

  4. Anti-aliasing • Q: How do we avoid aliasing artifacts? • Sampling: • Pre-filtering: • Combination: • Example - polygon: University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 4

  5. Polygon anti-aliasing University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 5

  6. Antialiasing in a ray tracer • We would like to compute the average intensity in the neighborhood of each pixel. • When casting one ray per pixel, we are likely to have aliasing artifacts. • To improve matters, we can cast more than one ray per pixel and average the result. • A.k.a., super-sampling and averaging down. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 6

  7. Speeding it up • Vanilla ray tracing is really slow! • Consider: m x m pixels, k x k supersampling, and n primitives, average ray path length of d, with2rays cast recursively per intersection. • Complexity = • For m=1,000,000, k = 5, n = 100,000, d=8…very expensive!! • In practice, some acceleration technique is almost always used. • We’ve already looked at reducing d with adaptive ray termination. • Now we look at reducing the effect of the k and n terms. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 7

  8. Antialiasing by adaptive sampling • Casting many rays per pixel can be unnecessarily costly. • For example, if there are no rapid changes in intensity at the pixel, maybe only a few samples are needed. • Solution: adaptive sampling. • Q: When do we decide to cast more rays in a particular area? University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 8

  9. Faster ray-polyhedron intersection • Let’s say you were intersecting a ray with a polyhedron: • Straightforward method • intersect the ray with each triangle • return the intersection with the smallest t-value. • Q: How might you speed this up? University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 9

  10. Approaches Faster Intersection Fewer Rays Generalized Rays N 1 Uniform grids Spatial hierarchies k-d, oct-tree, bsp hierarchical grids Hierarchical bounding volumes (HBV) Tighter bounds Faster intersector Early ray termination Adaptive sampling Beam tracing Cone tracing Pencil tracing Ray Tracing Acceleration Techniques University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 10

  11. Uniform spatial subdivision • Another approach is uniform spatial subdivision. • Idea: • Partition space into cells (voxels) • Associate each primitive with the cells it overlaps • Trace ray through voxel array using fast incremental arithmetic to step from cell to cell University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 11

  12. Uniform Grids • Preprocess scene • Find bounding box University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 12

  13. Uniform Grids • Preprocess scene • Find bounding box • Determine resolution University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 13

  14. Uniform Grids • Preprocess scene • Find bounding box • Determine resolution • Place object in cell, if object overlaps cell University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 14

  15. Uniform Grids • Preprocess scene • Find bounding box • Determine resolution • Place object in cell, if object overlaps cell • Check that object intersects cell University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 15

  16. Uniform Grids • Preprocess scene • Traverse grid 3D line – 3D-DDA 6-connected line University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 16

  17. Caveat: Overlap • Optimize for objects that overlap multiple cells • Traverse until tmin(cell) > tmax(ray) • Problem: Redundant intersection tests: • Solution: Mailboxes • Assign each ray an increasing number • Primitive intersection cache (mailbox) • Store last ray number tested in mailbox • Only intersect if ray number is greater University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 17

  18. Non-uniform spatial subdivision • Still another approach is non-uniform spatial subdivision. • Other variants include k-d trees and BSP trees. • Various combinations of these ray intersections techniques are also possible. See Glassner and pointers at bottom of project web page for more. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 18

  19. Non-uniform spatial subdivision • Best partitioning approach - k-d trees or perhaps BSP trees • More adaptive to actual scene structure • BSP vs. k-d tradeoff between speed from simplicity and better adaptability • Non-partitioning approach • Hierarchical bounding volumes • Build similar to k-d tree build University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 19

  20. Kd-tree - Build The University of Texas at Austin Department of Computer Science Don Fussell 20

  21. Kd-tree L R The University of Texas at Austin Department of Computer Science Don Fussell 21

  22. Kd-tree L R RR RL The University of Texas at Austin Department of Computer Science Don Fussell 22

  23. Kd-tree L R RR RL RRL RRR The University of Texas at Austin Department of Computer Science Don Fussell 23

  24. Kd-tree L R RR LR RL LL RRL RRR The University of Texas at Austin Department of Computer Science Don Fussell 24

  25. Kd-tree L R RR LR RL LL LLR LLL RRL RRR The University of Texas at Austin Department of Computer Science Don Fussell 25

  26. Kd-tree L R RR LR RL LL LLR LLL RRL RRR LLLL LLLR The University of Texas at Austin Department of Computer Science Don Fussell 26

  27. Kd-tree L R RR LR RL LL LLR LLL LRL LRR RRL RRR LLLL LLLR The University of Texas at Austin Department of Computer Science Don Fussell 27

  28. Kd-tree L R RR LR RL LL LLR LLL LRL LRR RRL RRR LRLR LLLL LLLR LRLL The University of Texas at Austin Department of Computer Science Don Fussell 28

  29. Kd-tree L R RR LR RL LL LLR LLL LRL LRR RRL RRR LRLR LLLL LLLR LRLL LRLRL LRLRR The University of Texas at Austin Department of Computer Science Don Fussell 29

  30. Surface Area and Rays • Number of rays in a given direction that hit an • object is proportional to its projected area • The total number of rays hitting an object is • Crofton’s Theorem: • For a convex body • For example: sphere University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 30

  31. Surface Area and Rays • The probability of a ray hitting a convex shape • that is completely inside a convex cell equals University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 31

  32. Surface Area Heuristic Intersection time Traversal time a b University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 32

  33. b a Surface Area Heuristic 2n splits University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 33

  34. Ray Traversal Kernel Depth first traversal Intersect(L,tmin,t*) Intersect(R,t*,tmax) Intersect(L,tmin,tmax) Intersect(R,tmin,tmax) The University of Texas at Austin Department of Computer Science Don Fussell 34

  35. Kd-tree - Traversal L R RR LR RL LL Stack: LLR LLL LRL LRR RRL RRR LRLR Current: Root LLLL LLLR LRLL LRLRL LRLRR The University of Texas at Austin Department of Computer Science Don Fussell 35

  36. Kd-tree - Traversal L R RR LR RL LL Stack: R LLR LLL LRL LRR RRL RRR LRLR Current: L LLLL LLLR LRLL LRLRL LRLRR The University of Texas at Austin Department of Computer Science Don Fussell 36

  37. Kd-tree - Traversal L R RR LR RL LL Stack: R LLR LLL LRL LRR RRL RRR LRLR Current: LL LLLL LLLR LRLL LRLRL LRLRR The University of Texas at Austin Department of Computer Science Don Fussell 37

  38. Kd-tree - Traversal L R RR LR RL LL Stack: LLR,R LLR LLL LRL LRR RRL RRR LRLR Current: LLL LLLL LLLR LRLL LRLRL LRLRR The University of Texas at Austin Department of Computer Science Don Fussell 38

  39. Kd-tree - Traversal L R RR LR RL LL Stack: LLR,R LLR LLL LRL LRR RRL RRR LRLR Current: LLLR LLLL LLLR LRLL LRLRL LRLRR The University of Texas at Austin Department of Computer Science Don Fussell 39

  40. Kd-tree - Traversal L R RR LR RL LL Stack: R LLR LLL LRL LRR RRL RRR LRLR Current: LLL LLLL LLLR LRLL LRLRL LRLRR The University of Texas at Austin Department of Computer Science Don Fussell 40

  41. Kd-tree - Traversal L R RR LR RL LL Stack: LLR LLL LRL LRR RRL RRR LRLR Current: R LLLL LLLR LRLL LRLRL LRLRR The University of Texas at Austin Department of Computer Science Don Fussell 41

  42. Kd-tree - Traversal L R RR LR RL LL Stack: RR LLR LLL LRL LRR RRL RRR LRLR Current: RL LLLL LLLR LRLL LRLRL LRLRR The University of Texas at Austin Department of Computer Science Don Fussell 42

  43. Kd-tree - Traversal L R RR LR RL LL Stack: LLR LLL LRL LRR RRL RRR LRLR Current: RR LLLL LLLR LRLL LRLRL LRLRR The University of Texas at Austin Department of Computer Science Don Fussell 43

  44. Kd-tree - Traversal L R RR LR RL LL Stack: LLR LLL LRL LRR RRL RRR LRLR Current: RRR LLLL LLLR LRLL LRLRL LRLRR The University of Texas at Austin Department of Computer Science Don Fussell 44

  45. Kd-tree - Traversal L R RR LR RL LL LLR LLL LRL LRR RRL RRR LRLR LLLL LLLR LRLL LRLRL LRLRR The University of Texas at Austin Department of Computer Science Don Fussell 45

  46. Variations kd-tree oct-tree bsp-tree University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 46

  47. Hierarchical bounding volumes • We can generalize the idea of bounding volume acceleration with hierarchical bounding volumes. • Key: build balanced trees with tight bounding volumes.Many different kinds of bounding volumes.Note that bounding volumes can overlap. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 47

More Related