260 likes | 392 Vues
This document provides an overview of antialiasing methods and sampling errors in computer graphics, detailing various techniques such as supersampling and different sampling strategies, including unweighted and weighted area sampling. It discusses the implications of flickering during motion and techniques to eliminate it, as well as multisampling methods used in modern graphics cards like Nvidia GeForce and ATI SmoothVision. The relation of sampling to signal theory and filtering is explored, along with the Nyquist Rate and practical sampling strategies in graphics rendering.
E N D
CS 445 / CS 645 Antialiasing
Today • Final Exam • Thursday, December 13th at 7:00 • Project 4-1 Out • Movies
Sampling Errors • Some objects missed entirely, others poorly sampled
Supersampling • Take more than one sample for each pixel and combine them • Do you actually render more pixels? • Can you combine the few pixels you have? • How many samples is enough? • How do we know no features are lost?
Unweighted Area Sampling • Average supersampled points • All points are weighted equally
Weighted Area Sampling • Points in pixel are weighted differently • Flickering occurs as object movesacross display • Overlapping regions eliminates flicker
How is this done today?Full Screen Antialiasing • Nvidia GeForce2 • OpenGL: scale image 400% and supersample • Direct3D: scale image 400% - 1600% • 3Dfx Multisampling • 2- or 4-frame shift and average • Nvidia GeForce3 • Multisampling but with fancy overlaps • ATI SmoothVision • Programmer selects samping pattern
GeForce3 • Multisampling • After each pixel is rendered, write pixel value to two different places in frame buffer
GeForce3 - Multisampling • After rendering two copies of entire frame • Shift pixels of Sample #2 left and up by ½ pixel • Imagine laying Sample #2 (red) over Sample #1 (black)
GeForce3 - Multisampling • Resolve the two samples into one image by computing average between each pixel from Sample 1 (black) and the four pixels from Sample 2 (red) that are 1/ sqrt(2) pixels away
GeForce3 - Multisampling • No AA Multisampling
GeForce3 - Multisampling • 4x Supersample Multisampling
Signal Theory • Convert spatial signal to frequency domain
Signal Theory • Represent spatial signal as sum of sine waves (varying amplitude and phase shift)
Fourier Analysis • Convert spatial domain to frequency domain • U is a complex number representing amplitude and phase shift • i = sqrt (-1)
Fourier Transform • Examples of spatial and frequency domains
Nyquist Rate • The lower bound on the sampling rate equals twice the highest frequency component in the image’s spectrum • This lower bound is the Nyquist Rate
Flaws with Nyquist Rate • Samples may not align with peaks
Flaws with Nyquist Rate • When sampling below Nyquist Rate, resulting signal looks like a lower-frequency one
Sampling in the Frequency Domain • Remember, sampling was defined as multiplying a grid of delta functions by the continuous image • This is called a convolution in frequency domain The sampling grid The function beingsampled
Convolution • This amounts to accumulating copies of the function’s spectrum sampled at the delta functions of the sampling grid
Filtering • To lower Nyquist rate, remove high frequencies from image: low-pass filter • Only low frequencies remain • Sinc function is common filter: • sinc(x) = sin (px)/px Frequency Domain Spatial Domain
Sinc Filter • Slide filter along spatial domain and compute new pixel value that results from convolution
Bilinear Filter • Sometimes called a tent filter • Easy to compute • just linearly interpolate between samples • Finite extent and no negative values • Still has artifacts