week 7 wednesday n.
Skip this Video
Loading SlideShow in 5 Seconds..
CS361 PowerPoint Presentation
Download Presentation

Loading in 2 Seconds...

play fullscreen
1 / 22

CS361 - PowerPoint PPT Presentation

  • Uploaded on

Week 7 - Wednesday. CS361. Last time. What did we talk about last time? Transparency Gamma correction Texturing. Questions?. Project 2. Student Lecture: Mipmapping and Anisotropic filtering of Textures. Image Texturing. Image texturing. Usually, texturing is image texturing:

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'CS361' - wes

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
last time
Last time
  • What did we talk about last time?
  • Transparency
  • Gamma correction
  • Texturing
image texturing1
Image texturing
  • Usually, texturing is image texturing:
    • Gluing a 2D image onto a polygon
  • Recall that textures have certain limitations
    • Usually 2m x 2ntexels
    • Some old cards require square textures
    • Most new cards don't have to do powers of 2
    • Maximum sizes vary:
      • 2048 x 2048 might be all your laptop can do
      • 8192 x 8192 is required by DirectX 10
  • Sometimes a small texture will cover a much larger area on screen
    • This effect is called magnification
  • Sometimes a large texture will cover very little area on the screen
    • This effect is called minification
  • Different techniques exist to overcome these problems
  • Magnification is often done by filtering the source texture in one of several ways:
    • Nearest neighbor (the worst) takes the closest texel to the one needed
    • Bilinear interpolation linearly interpolates between the four neighbors
    • Bicubic interpolation probably gives the best visual quality at greater computational expense (and is generally not directly supported)
bilinear interpolation with apologies
Bilinear interpolation (with apologies)
  • Perhaps unsurprisingly, the book gives a pretty good explanation of bilinear interpolation on p. 159
  • I guess I should direct people there in the future
blurring issues
Blurring issues
  • Bilinear interpolation tends to blur sharp edges, but you can interpolate non-linearly, remapping bright colors to a bright value and dark to a dark value
  • Another alternative is detail textures
    • Overlay higher resolution textures (representing details like scratches) onto a magnified texture
  • Minification is just as big of a problem (if not bigger)
  • Bilinear interpolation can work
    • But an onscreen pixel might be influenced by many more than just its four neighbors
  • We want to, if possible, have only a single texel per pixel
  • Main techniques:
    • Mipmapping
    • Summed-area tables
    • Anisotropic filtering
  • Mipmapping is the most popular texture antialiasing solution
  • Mip = "multum in parvo," meaning "many things in a small place"
  • The trouble with minification is that a single pixel needs to be colored by lots of texels
  • The solution: when loading the texture, create many smaller filtered versions of the texture, then use the appropriate one for rendering
mipmapping in action
Mipmapping in action
  • Typically a chain of mipmaps is created, each half the size of the previous
  • That's why cards like square power of 2 textures
  • Often the filtered version is made with a box filter, but better filters exist
  • The trick is figuring out which mipmap level to use
  • The level d can be computed based on the change in u relative to a change in x
trilinear filtering
Trilinear filtering
  • One way to improve quality is to interpolate between u and vtexels from the nearest two d levels
  • Picking d can be affected by a level of detail bias term which may vary for the kind of texture being used
summed area table
Summed-area table
  • Sometimes we are magnifying in one axis of the texture and minifying in the other
  • Summed area tables are another method to reduce the resulting overblurring
  • It sums up the relevant pixels values in the texture
  • It works by precomputing all possible rectangles
anisotropic filtering
Anisotropic filtering
  • Summed area tables work poorly for non-rectangular projections into texture space
  • Modern hardware uses unconstrained anisotropic filtering
    • The shorter side of the projected area determines d, the mipmap index
    • The longer side of the projected area is a line of anisotropy
    • Multiple samples are taken along this line
    • Memory requirements are no greater than regular mipmapping
next time
Next time…
  • XNA examples
  • Project 2 work day?
  • Keep working on Project 2
    • Due Friday by midnight
  • Keep reading Chapter 6