Download presentation

Presentation is loading. Please wait.

Published bySelina Hoggatt Modified over 2 years ago

1
David Luebke 1 4/28/2015 Aliasing & Antialiasing

2
David Luebke 2 4/28/2015 Recap: Aliasing ● Sampling a function = multiplying I(x) by sampling fn S x = convolving F(u) by sampling fn S 1/x = copying F(u) at regular intervals ● If the copies of F(u) overlap, high frequencies “fold over”, appearing as lower frequencies ● This is known as aliasing

3
David Luebke 3 4/28/2015 Prefiltering ● Eliminate high frequencies before sampling (Foley & van Dam p. 630) ■ Convert I(x) to F(u) ■ Apply a low-pass filter (e.g., multiply F(u) by a box function) ■ Then sample. Result: no aliasing! ● So what’s the problem?

4
David Luebke 4 4/28/2015 Prefiltering ● Eliminate high frequencies before sampling (Foley & van Dam p. 630) ■ Convert I(x) to F(u) ■ Apply a low-pass filter (e.g., multiply F(u) by a box function) ■ Then sample. Result: no aliasing! ● Problem: most rendering algorithms generate sampled function directly ■ e.g., Z-buffer, ray tracing

5
David Luebke 5 4/28/2015 Supersampling ● The simplest way to reduce aliasing artifacts is supersampling ■ Increase the resolution of the samples ■ Average the results down ● Sometimes called postfiltering ■ Create virtual image at higher resolution than the final image ■ Apply a low-pass filter ■ Resample filtered image

6
David Luebke 6 4/28/2015 Supersampling: Limitations ● Q: What practical consideration hampers supersampling? ● A: Storage goes up quadratically ● Q: What theoretical problem does supersampling suffer? ● A: Doesn’t eliminate aliasing! Supersampling simply shifts the Nyquist limit higher

7
David Luebke 7 4/28/2015 Supersampling: Worst Case ● Q: Give a simple scene containing infinite frequencies ● A: A checkered ground plane receeding into infinity ● Show Watt & Watt, Figure 4.9

8
David Luebke 8 4/28/2015 Supersampling ● Despite these limitations, people still use supersampling (why?) ● So how can we best perform it?

9
David Luebke 9 4/28/2015 Supersampling ● The process: ■ Create virtual image at higher resolution than the final image ■ Apply a low-pass filter ■ Resample filtered image

10
David Luebke 10 4/28/2015 Supersampling ● Create virtual image at higher resolution than the final image ■ This is easy

11
David Luebke 11 4/28/2015 Supersampling ● Apply a low-pass filter ■ Convert to frequency domain ■ Multiply by a box function ● Expensive! Can we simplify this? ■ Recall: multiplication in frequency equals convolution in space, so… ■ Just convolve initial sampled image with the FT of a box function ■ Isn’t this a lot of work?

12
David Luebke 12 4/28/2015 Supersampling: Digital Convolution ● In practice, we combine steps 2 & 3: ■ Create virtual image at higher resolution than the final image ■ Apply a low-pass filter ■ Resample filtered image ● Idea: only create filtered image at new sample points ■ I.e., only convolve filter with image at new points

13
David Luebke 13 4/28/2015 Supersampling: Digital Convolution ● Q: What does convolving a filter with an image entail at each sample point? ● A: Multiplying and summing values ● Example (also F&vD p 642): 121 242 121 121 242 121 = 121 242 121 = …

14
David Luebke 14 4/28/2015 Supersampling ● Q: What filter should we use in space to effect multiplying by a box function in frequency? ● A: The sinc function (sin(x) / x) ● Q: Why is this hard? ■ Sinc function has infinite support ■ Sinc function has negative lobes

15
David Luebke 15 4/28/2015 Supersampling ● Common filters: ■ Truncated sinc ■ Box ■ Triangle ■ Guassian ● What do the frequency spectra of each of these filters look like? ● A: see F&vD, p. 634-635

16
David Luebke 16 4/28/2015 Supersampling ● Typical supersampling algorithm: ■ Compute multiple samples per pixel ■ Combine sample values for pixel’s value using simple average ● Q: What filter does this equate to? ● A: Box filter -- one of the worst! ● Q: What’s wrong with box filters? ■ Passes infinitely high frequencies ■ Attenuates desired frequencies

17
David Luebke 17 4/28/2015 Supersampling In Practice ● Sinc function: ideal but impractical ● One approximation: sinc 2 (=what?) ● Another: Guassian falloff ● Q: How wide (what res) should filter be? ● A: As wide as possible (duh) ● In practice: 3x3, 5x5, at most 7x7

18
David Luebke 18 4/28/2015 Supersampling: Summary ● Supersampling improves aliasing artifacts by shifting the Nyquist limit ● It works by calculating a high-res image and filtering down to final res ● “Filtering down” means simultaneous convolution and resampling ● This equates to a weighted average ● Wider filter better results more work

19
David Luebke 19 4/28/2015 Summary So Far ● Prefiltering ■ Before sampling the image, use a low-pass filter to eliminate frequencies above the Nyquist limit ■ This blurs the image… ■ But ensures that no high frequencies will be misrepresented as low frequencies

20
David Luebke 20 4/28/2015 Summary So Far ● Supersampling ■ Sample image at higher resolution than final image, then “average down” ■ “Average down” means multiply by low-pass function in frequency domain ■ Which means convolving by that function’s FT in space domain ■ Which equates to a weighted average of nearby samples at each pixel

21
David Luebke 21 4/28/2015 Summary So Far ● Supersampling cons ■ Doesn’t eliminate aliasing, just shifts the Nyquist limit higher ○ Can’t fix some scenes (e.g., checkerboard) ■ Badly inflates storage requirements ● Supersampling pros ■ Relatively easy ■ Often works all right in practice ■ Can be added to a standard renderer

22
David Luebke 22 4/28/2015 Antialiasing in the Continuous Domain ● Problem with prefiltering: ■ Sampling and image generation inextricably linked in most renderers ○ Z-buffer algorithm ○ Ray tracing ■ Why? ● Still, some approaches try to approximate effect of convolution in the continuous domain

23
David Luebke 23 4/28/2015 Antialiasing in the Continuous Domain Pixel Grid Polygons Filter kernel

24
David Luebke 24 4/28/2015 Antialiasing in the Continuous Domain ● The good news ■ Exact polygon coverage of the filter kernel can be evaluated ■ What does this entail? ○ Clipping ○ Hidden surface determination

25
David Luebke 25 4/28/2015 Antialiasing in the Continuous Domain ● The bad news ■ Evaluating coverage is very expensive ■ The intensity variation is too complex to integrate over the area of the filter ○ Q: Why does intensity make it harder? ○ A: Because polygons might not be flat- shaded ○ Q: How bad a problem is this? ○ A: Intensity varies slowly within a pixel, so shape changes are more important

26
David Luebke 26 4/28/2015 Catmull’s Algorithm ABAB A1A1 A2A2 A3A3 ● Find fragment areas ● Multiply by fragment colors ● Sum for final pixel color

27
David Luebke 27 4/28/2015 Catmull’s Algorithm ● First real attempt to filter in continuous domain ● Very expensive ■ Clipping polygons to fragments ■ Sorting polygon fragments by depth (What’s wrong with this as a hidden surface algorithm?) ● Equates to box filter (Is that good?)

28
David Luebke 28 4/28/2015 The A-Buffer ● Idea: approximate continuous filtering by subpixel sampling ● Summing areas now becomes simple

29
David Luebke 29 4/28/2015 The A-Buffer ● Advantages: ■ Incorporating into scanline renderer reduces storage costs dramatically ■ Processing per pixel depends only on number of visible fragments ■ Can be implemented efficiently using bitwise logical ops on subpixel masks

30
David Luebke 30 4/28/2015 The A-Buffer ● Disadvantages ■ Still basically a supersampling algorithm ■ Not a hardware-friendly algorithm ○ Lists of potentially visible polygons can grow without limit ○ Work per-pixel non-deterministic

31
David Luebke 31 4/28/2015 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

32
David Luebke 32 4/28/2015 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

33
David Luebke 33 4/28/2015 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!

34
David Luebke 34 4/28/2015 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

35
David Luebke 35 4/28/2015 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

36
David Luebke 36 4/28/2015 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

37
David Luebke 37 4/28/2015 Stochastic Sampling ● Problem: given a pixel, how to distribute points (samples) within it?

38
David Luebke 38 4/28/2015 Stochastic Sampling ● Poisson distribution: ■ Completely random ■ Add points at random until area is full. ■ Uniform distribution: some neighboring samples close together, some distant

39
David Luebke 39 4/28/2015 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

40
David Luebke 40 4/28/2015 Stochastic Sampling ● Jittered distribution ■ Start with regular grid of samples ■ Perturb each sample slightly in a random direction ■ More “clumpy” or granular in appearance

41
David Luebke 41 4/28/2015 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.

42
David Luebke 42 4/28/2015 Stochastic Sampling ● Watt & Watt, p. 134 ● See Foley & van Dam, p 644-645

Similar presentations

OK

Antialiasing CAP4730: Computational Structures in Computer Graphics.

Antialiasing CAP4730: Computational Structures in Computer Graphics.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Free ppt on brain machine interface application Ppt on seven segment display diagram Ppt on aryabhatta in sanskrit Ppt on limits and derivatives video Two dimensional viewing ppt on ipad Ppt on data collection methods aba Ppt on linear equations in two variables worksheet Convert pdf to ppt online adobe Download ppt on save fuel Ppt on indian economic growth since 1990