1 / 22

CS361

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:

wes
Télécharger la présentation

CS361

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Week 7 - Wednesday CS361

  2. Last time • What did we talk about last time? • Transparency • Gamma correction • Texturing

  3. Questions?

  4. Project 2

  5. Student Lecture: Mipmapping and Anisotropic filtering of Textures

  6. Image Texturing

  7. 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

  8. Resizing • 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

  9. Magnification • 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)

  10. 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

  11. 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

  12. Minification • 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

  13. Mipmapping • 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. XNA Examples

  19. Quiz

  20. Upcoming

  21. Next time… • XNA examples • Project 2 work day?

  22. Reminders • Keep working on Project 2 • Due Friday by midnight • Keep reading Chapter 6

More Related