Lecture 156.837 Fall 2001 From S. Zeki, Inner Vision.

Slides:



Advertisements
Similar presentations
Technische Universität München Fakultät für Informatik Computer Graphics SS 2014 Sampling Rüdiger Westermann Lehrstuhl für Computer Graphik und Visualisierung.
Advertisements

CSE 781 Anti-aliasing for Texture Mapping. Quality considerations So far we just mapped one point – results in bad aliasing (resampling problems) We really.
DFT/FFT and Wavelets ● Additive Synthesis demonstration (wave addition) ● Standard Definitions ● Computing the DFT and FFT ● Sine and cosine wave multiplication.
David Luebke1/19/99 CS 551/651: Antialiasing David Luebke
MIT EECS 6.837, Durand and Cutler Sampling, Aliasing, & Mipmaps.
Slides from Alexei Efros
Computer Graphics Bing-Yu Chen National Taiwan University.
Week 7 - Wednesday.  What did we talk about last time?  Transparency  Gamma correction  Started texturing.
CHAPTER 12 Height Maps, Hidden Surface Removal, Clipping and Level of Detail Algorithms © 2008 Cengage Learning EMEA.
Digital Signal Processing
CS 551 / CS 645 Antialiasing. What 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.
Sampling, Aliasing, & Mipmaps
Image Analysis Preprocessing Image Quantization Binary Image Analysis
CSCE 641 Computer Graphics: Image Sampling and Reconstruction Jinxiang Chai.
Sampling and Pyramids : Rendering and Image Processing Alexei Efros …with lots of slides from Steve Seitz.
Edges and Scale Today’s reading Cipolla & Gee on edge detection (available online)Cipolla & Gee on edge detection Szeliski – From Sandlot ScienceSandlot.
Computer Graphics (Spring 2008) COMS 4160, Lecture 19: Texture Mapping Many slides from Greg Humphreys, UVA and Rosalee.
CSCE 641 Computer Graphics: Image Sampling and Reconstruction Jinxiang Chai.
Image Sampling Moire patterns
16 MULTIPLE INTEGRALS.
University of British Columbia CPSC 414 Computer Graphics © Tamara Munzner 1 Sampling Week 7, Fri 17 Oct 2003 p1 demos sampling.
Image Sampling Moire patterns -
Computer Graphics Inf4/MSc Computer Graphics Lecture 11 Texture Mapping.
Introduction to 3D Graphics Lecture 6: Real-Time Rendering Anthony Steed University College London.
Random Processes and LSI Systems What happedns when a random signal is processed by an LSI system? This is illustrated below, where x(n) and y(n) are random.
1 Texturing. 2 What is Texturing? 3 Texture Mapping Definition: mapping a function onto a surface; function can be:  1, 2, or 3D  sampled (image) or.
Chapter 4: Sampling of Continuous-Time Signals
Computer Vision Spring ,-685 Instructor: S. Narasimhan Wean 5409 T-R 10:30am – 11:50am.
… Representation of a CT Signal Using Impulse Functions
Dr Martin Hendry, Dept of Physics and Astronomy University of Glasgow, UK Astronomical Data Analysis I 11 lectures, beginning autumn 2008.
CS 376b Introduction to Computer Vision 02 / 26 / 2008 Instructor: Michael Eckmann.
David Luebke 1 9/4/2015 CS 551/651: Advanced Computer Graphics Antialiasing Continued: Prefiltering and Supersampling.
Computer Graphics Inf4/MSc Computer Graphics Lecture 9 Antialiasing, Texture Mapping.
Computer Graphics Texture Mapping
Lecture 21Slide Fall 2001 Texture-Mapping Tricks Combining Textures Filtering Textures Textures and Shading Bump Mapping Solid Textures.
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
CS 376 Introduction to Computer Graphics 04 / 16 / 2007 Instructor: Michael Eckmann.
Lecture 4: Image Resampling and Reconstruction CS4670: Computer Vision Kavita Bala.
Common Fractions © Math As A Second Language All Rights Reserved next #6 Taking the Fear out of Math 1 3 ×1 3 Multiplying.
College Algebra Sixth Edition James Stewart Lothar Redlin Saleem Watson.
Graphics Lecture 13: Slide 1 Interactive Computer Graphics Lecture 13: Radiosity - Principles.
Binary Space Partitioning Trees Ray Casting Depth Buffering
Computer Vision Spring ,-685 Instructor: S. Narasimhan Wean 5403 T-R 3:00pm – 4:20pm.
Hashing Hashing is another method for sorting and searching data.
MIT EECS Sampling, Aliasing, & Mipmaps. MIT EECS Last Time? Global illumination “physically accurate light transport” The rendering equation.
Random Variable The outcome of an experiment need not be a number, for example, the outcome when a coin is tossed can be 'heads' or 'tails'. However, we.
Lecture 6 Rasterisation, Antialiasing, Texture Mapping,
LECTURE 4 Logic Design. LOGIC DESIGN We already know that the language of the machine is binary – that is, sequences of 1’s and 0’s. But why is this?
Topics 1 Specific topics to be covered are: Discrete-time signals Z-transforms Sampling and reconstruction Aliasing and anti-aliasing filters Sampled-data.
Lecture 5: Fourier and Pyramids
EE 7730 Image Enhancement. Bahadir K. Gunturk2 Image Enhancement The objective of image enhancement is to process an image so that the result is more.
1 Dr. Scott Schaefer Antialiasing. 2/70 What is aliasing?
Projects Project 1a due this Friday Project 1b will go out on Friday to be done in pairs start looking for a partner now.
Last Lecture photomatix.com. Today Image Processing: from basic concepts to latest techniques Filtering Edge detection Re-sampling and aliasing Image.
David Luebke 3/17/2016 Advanced Computer Graphics Antialiasing David Luebke
Copyright © Cengage Learning. All rights reserved. 15 Multiple Integrals.
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Texture Mapping Greg Humphreys University of Virginia CS 445, Fall 2003.
Texturing CMSC 435/ What is Texturing? 2 Texture Mapping Definition: mapping a function onto a surface; function can be: – 1, 2, or 3D – sampled.
Antialiasing. What is alias? Alias - A false signal in telecommunication links from beats between signal frequency and sampling frequency (from dictionary.com)
Sampling Week 7, Fri 17 Oct 2003 p1 demos sampling.
Texture Mapping Sung-Eui Yoon (윤성의) CS380: Computer Graphics
Week 7 - Wednesday CS361.
Image Sampling Moire patterns
Sampling Theorem & Antialiasing
Anti-aliasing for Texture Mapping
Image Sampling Moire patterns
Filtering Part 2: Image Sampling
Image Sampling Moire patterns
Progressive Photon Mapping Toshiya Hachisuka Henrik Wann Jensen
Signals and Systems Revision Lecture 2
Presentation transcript:

Lecture Fall 2001 From S. Zeki, Inner Vision

Slide Fall 2002 When texture mapping it is rare that the screen-space sampling density matches the sampling density of the texture. Typically one of two things can occur: Sampling Texture Maps Oversampling of the texture or Undersampling of the texture In the case of oversampling we already know what to do... Interpolation (review on Antialiasing and Resampling). But, how do we handle undersampling?

Slide Fall 2002 How Bad Does it Look? Let's take a look at what under-sampling looks like:under-sampling Notice how details in the texture, in particular the mortar between the bricks, tend to pop (disappear and reappear). This popping is most noticeable around details (parts of the texture with a high-spatial frequency). This is indicative of aliasing (high- frequency details showing up in areas where we expect to see low frequencies).

Slide Fall 2002 We've Seen this Sort of Thing Before Remember... Aliasing? This was the phenomenon that occurred when we undersampled a signal. It caused certain high frequency features to appear as low frequencies. To eliminate aliasing we had to either band limit (low pass filter) our input signal or sample it at a higher rate:

Slide Fall 2002 Spatial Filtering In order to get the sort of images the we expect, we must prefilter the texture to remove the high frequencies that show up as artifacts in the final rendering. The prefiltering required in the undersampling case is basically a spatial integration over the extent of the sample. We could perform this filtering while texture mapping (during rasterization), by keeping track of the area enclosed by sequential samples and performing the integration as required. However, this would be expensive. The most common solution to undersampling is to perform prefiltering prior to rendering.

Slide Fall 2002 MIP Mapping is one popular technique for precomputing and performing this prefiltering. MIP is an acronym for the latin phrase multium in parvo, which means "many in a small place". The technique was first described by Lance Williams. The basic idea is to construct a pyramid of images that are prefiltered and resampled at sampling frequencies that are a binary fractions (1/2, 1/4, 1/8, etc) of the original image's sampling. MIP Mapping Computing this series of filtered images requires only a small fraction of addtional storage over the original texture (How small of a fraction?). While rasterizing we compute the index of the decimated image that is sampled at a rate closest to the density of our desired sampling rate (rather than picking the closest one can in also interpolate between pyramid levels).

Slide Fall 2002 Storing MIP Maps One convenient method of storing a MIP map is shown below. (It also nicely illustrates the 1/3 overhead of maintaining the MIP map). We must make a few small modifications to our rasterizer to compute the MIP map level. Recall the equations that we derived for mapping screen-space interpolants to their 3- space equivalent.

Slide Fall 2002 What we'd like to find is the step size that a uniform step in screen-space causes in three-space, or, in other words how a screen-space change relates to a 3-space change. This sounds like the derivatives, ( du/dt, dv/dt ). They can be computed simply using the chain rule: Finding the MIP level Notice that the term being squared under the numerator is just the w plane equation that we are already computing. The remaining terms are constant for a given rasterization. Thus all we need to do to compute the derivative is a square the w accumulator and multiply it by a couple of constants. Now, we know how a step in screen-space relates to a step in 3-space. So how do we translate this to an index into our MIP table?

Slide Fall 2002 MIP Indices Actually, you have a choice of ways to translate this gradient value into a MIP level. This also brings up one of the shortcomings of MIP mapping. MIP mapping assumes that both the u and v components of the texture index are undergoing a uniform scaling, while in fact the terms du/dt and dv/dt are relatively independent. Thus, we must make some sort of compromise. Two of the most common approaches are given below: The differences between these level selection methods is illustrated by the accompanying figure.

Slide Fall 2002 Summed-Area Tables There are other approaches to computing this prefiltering integration on the fly. One, which was introduced by Frank Crow is called a summed-area table. Basically, a summed-area table is a tabularized two-dimensional cumulative distribution function. Imagine having a 2-D table of numbers the cumulative distribution function could be found as shown below. T(x 1, y 1 ) - T(x 0, y 1 ) - T(x 1, y 0 ) + T(x 0, y 0 ) To find the sum of region contained in a box bounded by (x 0, y 0 ) and (x 1, y 1 ): This approach can be used to compute the integration of pixels that lie under a pixel by dividing the resulting sum by the area of the rectangle, (y 1 - y 0 )(x 1 - x 0 ). With a little more work you can compute the area under any four-sided polygon (How?).

Slide Fall 2002 Summed-Area Tables How much storage does a summed-area table require? Does it require more or less work per pixel than a MIP map? What sort of low-pass filter does a summed-area table represent? What do you remember about this sort of filter? These nice images were originally grabbed from a link on the web page. No filtering MIP mappingSummed-Area Table

Slide Fall 2002 Anisotropic Mip-mapping What happens when the surface is tilted? Different mipmap for the 2 directions These nice images were originally grabbed from a link on the web page.