You are viewing the course site for a past offering of this course. The current offering may be found here.
Lecture 5: Texture Mapping (81)
jierui-cell

I understand that we can store reduced size versions of the textures. But how are those "smaller" textures generated? What algorithm do we use to generate those textures?

jebef

There is a high-level description of the algorithm on the slide titled "Texture Minification - Hard Case"?

pinkchihua

So are Mipmaps basically used to save time when wanting to apply textures? so each resolution of texture doesn't have to be calculated repeatedly each time it needs to be used?

LeslieTrue

@pinkchihua I think yes, i.e. if you want a 34 by 34 image, you don't have to compress the image from its original size, say 256 by 256, but from the nearest size in mipmap, say 32 by 32.

joeyzhao123

What LeslieTrue said is correct. I did a bit of googling and from what I understand, you're sacrificing storage where you have computed these mipmaps so that when you are rendering a game for example, you don't have to sample from the original image since images far away do not need to be clear. You can save some computation power by using appropriate mipmap levels.

JustinHuey1

Yeah so it seems like mipmaps help increase your performance. By using lower sized textures, this means that you will have less overall texture data and be able to cache it more efficiently.

patrickrz

Besides saving "time" as mentioned in the above comments, do mipmaps also save space/memory? Also, I was wondering what the technical details were for calculating which parts of an image get to be "compressed." Say we have an image of a blue sky with a foreground of trees. Because the foreground has more details and the sky (which is completley blue has less), would the algorithm compress pixels for the sky MORE than those pixels representing the trees?

yjp20

I don't think it's so much "performance" as it is using precomputed levels of filtering.

As an example, suppose you're looking at an object really far away that takes up exactly one pixel. This object has a texture map that is all black save for one pixel that is white.

Without mipmaps, you can happen to query that one white texture-pixel, and the entire pixel on your screen can turn white, despite the fact that it was majority black. This isn't any less performant that using mipmaps, as you're just querying one pixel.

Using mip maps, you can precompute different levels of filtering (or averaging), so you can efficiently query a better representation of these pixels and get a pixel that is mostly black.

rsha256

Which would be the highest resolution? I thought it would be level 0 since 128x128 but a past exam walkthrough implies it is level 7...

You must be enrolled in the course to comment