Mipmap magnification not what I expected? (involves 2 mipmaps)

First, sorry this question isn’t really about GLSL, I’m uncertain what forum is appropriate to my question.

I was recently surprised to notice my Intel system magnifies mipmaps by blending the top two mip levels. In my head I imagine magnification would just “blow up” the top-level image, not involving mipmaps. I don’t subscribe to another forum where I can ask this question, so I’m just curious if anyone can give me a rationale for what it’s doing, and bonus question, is mipmap filtering standardized for GLSL, etc. purposes?

Background: The largest image is 256x256. No matter how close I position the texture it’s about half-and-half, so the largest image for 256 images only ever appears as a ghost overlaid over the first mipmap. If I change the bias setting it introduces shimmering, so it seems like it’s working as intended. (Edited: Both levels are magnified, i.e. neither shows as 1x1 pixels.)

How do you know it’s doing that?

Both can set the mipmaps to be white or some solid color and see, or it’s easy to see with the naked eye. In this case I’m working with PlayStation era textures, and the 256 texture is generated by enlarging (and doing some filter logic) so at first I didn’t notice, and thought I was seeing the result of the enlargement, but I was doing work with mipmaps the other day and was setting mipmaps beyond a certain level to be white, then it was apparent. I don’t know if larger textures don’t exhibit this behavior off the top of my head, I’ve never noticed it before.

(I assume it has something to do with being proportional across the full range of mipmaps with respect to distance, and wanting to avoid some kind of discontinuity that might occur if it switched from mipmap blending to just enlarging… or maybe the hardware just can’t function without two mipmaps to draw from… but I really have no clue, hence my curiosity.)

(Edited: For the record, I think when I did tests with just 128x128 textures it was maxing out. The hardware isn’t anything exotic, it should be able to display 8192 textures just fine. It’s a higher end integrated chipset.)

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.