CS 445 / CS 645What is a pixel?SamplesSlide 4Slide 5Line SegmentsSlide 7Area SamplingUnweighted Area SamplingWeighted Area SamplingSlide 11ImagesSampling and ImagePoint Sampling an ImagePoint SamplingSampling ErrorsFixing Sampling ErrorsSlide 18Slide 19How is this done today? Full Screen AntialiasingCS 445 / CS 645AntialiasingWhat is a pixel?•A pixel is not…–A box–A disk–A teeny tiny little light•A pixel is a point–It has no dimension–It occupies no area–It cannot be seen–It can have a coordinateA pixel is more than a point, it is a sampleSamples•Most things in the real world are continuous•Everything in a computer is discrete•The process of mapping a continuous function to a discrete one is called sampling•The process of mapping a continuous variable to a discrete one is called quantization•Rendering an image requires sampling and quantizationSamplesSamplesLine Segments•We tried to sample a line segment so it would map to a 2D raster display•We quantized the pixel values to 0 or 1•We saw stair steps, or jaggiesLine Segments•Instead, quantize to many shades•But what sampling algorithm is used?Area Sampling•Shade pixels according to the area covered by thickened line•This is unweighted area sampling•A rough approximation formulated by dividing each pixel into a finer grid of pixelsUnweighted Area Sampling•Primitive cannot affect intensity of pixel if it does no intersect the pixel•Equal areas cause equal intensity, regardless of distance from pixel center to areaWeighted Area Sampling•Unweighted sampling colors two pixels identically when the primitive cuts the same area through the two pixels•Intuitively, pixel cut through the center should be more heavily weighted than one cut along cornerWeighted Area Sampling•Weighting function, W(x,y)–specifies the contribution of primitive passing through the point (x, y) from pixel centerxIntensityW(x,y)Images•An image is a 2D function I(x, y) that specifies intensity for each point (x, y)Sampling and Image•Our goal is to convert the continuous image to a discrete set of samples•The graphics system’s display hardware will attempt to reconvert the samples into a continuous image: rec onstructionPoint Sampling an Image•Simplest sampling is on a grid•Sample dependssolely on valueat grid pointsPoint Sampling•Multiply sample grid by image intensity to obtain a discrete set of points, or samples.Sampling Geometry•Some objects missed entirely, others poorly sampledSampling ErrorsFixing Sampling Errors•Supersa mpling–Take more than one sample for each pixel and combine them•How many samples is enough?•How do we know no features are lost?Unweighted Area Sampling•Average supersampled points•All points are weighted equallyWeighted Area Sampling•Points in pixel are weighted differently–Flickering occurs as object movesacross display•Overlapping regions eliminates flickerHow 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
View Full Document