1 / 36

CS 551/651: Advanced Computer Graphics

CS 551/651: Advanced Computer Graphics. Antialiasing Continued: Prefiltering and Supersampling. Recap: Antialiasing Strategies. Prefiltering: low-pass filter the signal before sampling Pros: Guaranteed to eliminate aliasing Preserves all desired frequencies Cons: Expensive

yule
Download Presentation

CS 551/651: Advanced Computer Graphics

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. CS 551/651: Advanced Computer Graphics Antialiasing Continued: Prefiltering and Supersampling David Luebke 16/6/2014

  2. Recap: Antialiasing Strategies • Prefiltering: low-pass filter the signal before sampling • Pros: • Guaranteed to eliminate aliasing • Preserves all desired frequencies • Cons: • Expensive • Can introduce “ringing” • Doesn’t fit most rendering algorithms David Luebke 26/6/2014

  3. Recap:Antialiasing Strategies • Supersampling: sample at higher resolution, then filter down • Pros: • Conceptually simple • Easy to retrofit existing renderers • Works well most of the time • Cons: • High storage costs • Doesn’t eliminate aliasing, just shifts Nyquist limit upwards David Luebke 36/6/2014

  4. Recap:Antialiasing Strategies • A-Buffer: approximate prefiltering of continuous signal by sampling • Pros: • Integrating with scan-line renderer keeps storage costs low • Can be efficiently implemented with clever bitwise operations • Cons: • Still basically a supersampling approach • Doesn’t integrate with ray-tracing David Luebke 46/6/2014

  5. Stochastic Sampling • Sampling theory tells us that with a regular sampling grid, frequencies higher than the Nyquist limit will alias • Q: What about irregular sampling? • A: High frequencies appear as noise, not aliases • This turns out to bother our visual system less! David Luebke 56/6/2014

  6. Stochastic Sampling • An intuitive argument: • In stochastic sampling, every region of the image has a finite probability of being sampled • Thus small features that fall between uniform sample points tend to be detected by non-uniform samples David Luebke 66/6/2014

  7. Stochastic Sampling • Integrating with different renderers: • Ray tracing: • It is just as easy to fire a ray one direction as another • Z-buffer: hard, but possible • Notable example: REYES system (?) • Using image jittering is easier (more later) • A-buffer: nope • Totally built around square pixel filter and primitive-to-sample coherence David Luebke 76/6/2014

  8. Stochastic Sampling • Idea: randomizing distribution of samples scatters aliases into noise • Problem: what type of random distribution to adopt? • Reason: type of randomness used affects spectral characteristics of noise into which high frequencies are converted David Luebke 86/6/2014

  9. Stochastic Sampling • Problem: given a pixel, how to distribute points (samples) within it? David Luebke 96/6/2014

  10. Stochastic Sampling • Poisson distribution: • Completely random • Add points at random until area is full. • Uniform distribution: some neighboring samples close together, some distant David Luebke 106/6/2014

  11. Stochastic Sampling • Poisson disc distribution: • Poisson distribution, with minimum-distance constraint between samples • Add points at random, removing again if they are too close to any previous points • Very even-looking distribution David Luebke 116/6/2014

  12. Stochastic Sampling • Jittered distribution • Start with regular grid of samples • Perturb each sample slightly in a random direction • More “clumpy” or granular in appearance David Luebke 126/6/2014

  13. Stochastic Sampling • Spectral characteristics of these distributions: • Poisson: completely uniform (white noise). High and low frequencies equally present • Poisson disc: Pulse at origin (DC component of image), surrounded by empty ring (no low frequencies), surrounded by white noise • Jitter: Approximates Poisson disc spectrum, but with a smaller empty disc. David Luebke 136/6/2014

  14. Stochastic Sampling • Watt & Watt, p. 134 • See Foley & van Dam, p 644-645 David Luebke 146/6/2014

  15. Nonuniform Supersampling • We’ve discussed two nonuniform sampling approaches • Adaptive supersampling: • Sample (say) once per pixel, then supersample if intensity changes a lot • Stochastic supersampling: • Use multiple samples per pixel, but not on a uniform grid • Can we filter nonuniform supersampled images? David Luebke 156/6/2014

  16. Nonuniform Supersampling • Recall: convolution I’ of filter h with image function I is given by: I’(x,y)=   I(i, j) h(x-i, y-j) • Can we use this equation for nonuniform sampling? • Implicit in this equation is a normalizing factor: we assume the filter weights sum to unity David Luebke 166/6/2014

  17. Nonuniform Supersampling Pixel David Luebke 176/6/2014

  18. Nonuniform Supersampling Sampling Grid David Luebke 186/6/2014

  19. Nonuniform Supersampling Polygon David Luebke 196/6/2014

  20. Nonuniform Supersampling Adaptive Sampling David Luebke 206/6/2014

  21. Problem: Many more purple samples than white samples But final pixel actually more white than purple! Simple filtering will not handle this correctly Nonuniform Supersampling Final Samples David Luebke 216/6/2014

  22. Nonuniform Supersampling • Approximate answer: weighted average filter • Divide total value of samples X filter by total value of filter at sample points:   I(i, j) h(x-i, y-j) I’(x,y)=   h(x-i, y-j) David Luebke 226/6/2014

  23. Nonuniform Supersampling • Correct answer: multistage filtering • Use weighted-average filters in cascade, sequentially applying filters with lower and lower cutoff frequencies David Luebke 236/6/2014

  24. Nonuniform Supersampling • Real-world answer: ignore the problem • Keep random components small compared to filter width • Use standard supersampling filter • Cook ‘87 (REYES) uses 4x4 jittered supersampling David Luebke 246/6/2014

  25. Antialiasing and Texture Mapping • We may want to apply antialiasing techniques to the texture mapping process separately from the rest of the rendering process • Why? David Luebke 256/6/2014

  26. Antialiasing and Texture Mapping • Texture mapping is uniquely harder • Coherent textures present pathological artifacts • Correct filter shape changes • Texture mapping is uniquely easier • Textures are known ahead of time • They can thus be prefiltered David Luebke 266/6/2014

  27. Antialiasing and Texture Mapping • More on texture problems • Coherent texture frequencies become infinitely high with increasing distance • Ex: checkerboard receding to horizon • Unfiltered textures lead to compression • Ex: pixel covers entire checkerboard • Unfiltered mapping: pixel is black or white • Moving checkerboard  flashing pixels David Luebke 276/6/2014

  28. Antialiasing and Texture Mapping • Problem: a square pixel on screen becomes a curvilinear quadrilateral in texture map (see W&W, p 140) • The coverage and area of this shape change as a function of the mapping • Most texture antialiasing algorithms approximate this shape somehow David Luebke 286/6/2014

  29. Recap: Antialiasing and Texture Mapping • Mip-mapping • MIP = Multim in Parvo (many things in a small place) • Ignores shape change of inverse pixel • But allows size to vary • Idea: store texture as a pyramid of progressively lower-resolution images, filtered down from original David Luebke 296/6/2014

  30. Antialiasing: Mip-Mapping Depth of Mip-Map David Luebke 306/6/2014

  31. Antialiasing: Mip Mapping R G R G B R G B R G B B David Luebke 316/6/2014

  32. Antialiasing: Mip Mapping • Distant textures use higher levels of the mipmap • Thus, the texture map is prefiltered • Thus, reduced aliasing! David Luebke 326/6/2014

  33. Antialiasing: Mip Mapping • Which level of mip-map to use? • Think of mip-map as 3-D pyramid • Index into mip-map with 3 coordinates: u, v, d (depth) • Q: What does d correspond to in the mip-map? • A: size of the filter David Luebke 336/6/2014

  34. Antialiasing: Mip Mapping • The size of the filter (i.e., d in the mip-map) depends on the pixel coverage area in the texture map • In general, treat d as a continuous value • Blend between nearest mip-map level using linear interpolation • Q: What is tri-linear interpolation? David Luebke 346/6/2014

  35. Antialiasing: Mip Mapping • Q: What’s wrong with the mip-map approach to prefiltering texture? • A: Assumes pixel maps to square in texture space • More sophisticated inverse pixel filters (see F&vD p 828): • Summed area tables • Elliptical weighted average filtering David Luebke 356/6/2014

  36. The End David Luebke 366/6/2014

More Related