University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don FussellAnti-aliased and acceleratedray tracingUniversity of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 2ReadingRequired:Watt, sections 12.5.3 – 12.5.4, 14.7Further reading:A. Glassner. An Introduction to Ray Tracing. AcademicPress, 1989. [In the lab.]University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 3Aliasing in renderingOne of the most common rendering artifacts is the“jaggies”. Consider rendering a white polygonagainst a black background:We would instead like to get a smoother transition:University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 4Anti-aliasingQ: How do we avoid aliasing artifacts?1. Sampling:2. Pre-filtering:3. Combination:Example - polygon:University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 5Polygon anti-aliasingUniversity of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 6Antialiasing in a ray tracerWe would like to compute the average intensity in the neighborhood ofeach 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 andaverage the result.A.k.a., super-sampling and averaging down.University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 7Speeding it upVanilla ray tracing is really slow!Consider: m x m pixels, k x k supersampling, and nprimitives, average ray path length of d, with 2 rays castrecursively per intersection.Complexity =For m=1,000,000, k = 5, n = 100,000, d=8…veryexpensive!!In practice, some acceleration technique is almost alwaysused.We’ve already looked at reducing d with adaptive raytermination.Now we look at reducing the effect of the k and n terms.University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 8Antialiasing by adaptive samplingCasting many rays per pixel can be unnecessarily costly.For example, if there are no rapid changes in intensity atthe pixel, maybe only a few samples are needed.Solution: adaptive sampling.Q: When do we decide to cast more rays in a particulararea?University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 9Let’s say you were intersecting a ray with a polyhedron:Straightforward methodintersect the ray with each trianglereturn the intersection with the smallest t-value.Q: How might you speed this up?Faster ray-polyhedron intersectionUniversity of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 10Hierarchical bounding volumesWe can generalize the idea of bounding volume acceleration withhierarchical 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 2008 Don Fussell 11Uniform spatial subdivisionAnother approach is uniform spatial subdivision.Idea:Partition space into cells (voxels)Associate each primitive with the cells it overlapsTrace ray through voxel array using fast incremental arithmetic tostep from cell to cellUniversity of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 12Non-uniform spatial subdivisionStill another approach is non-uniform spatial subdivision.Other variants include k-d trees and BSP trees.Various combinations of these ray intersections techniques are alsopossible. See Glassner and pointers at bottom of project web page
View Full Document