MIPMAP

Started by
3 comments, last by C0D1F1ED 15 years, 11 months ago
Hello I have a question regarding the MIPMAP. When I am using mipmap as a texture, does the entire mipmap get sent to the GPU or only the specific mipmap level being sent to the GPU? Can I control this? Thanks for the help
Advertisement
I would imagine that the entire mip-map is resident on the GPU, as the heuristic for predicting which levels would be required (e.g. frame coherence), would probably be more trouble than its worth. More than one level would be required anyway, if you are using tri-linear filtering.
With OpenGL one can provide custom mip-map levels by changing the level parameter for glTexImage instead of using gluBuild*Mipmaps - you might get some joy out of that (can't remember off the top of my head what the DX version is).
If you are using a fragment shader, it's possible to select a particular mip level when you sample a texture. Whether that's taken into account by the hardware when it is loading textures into memory is another matter...
Finally, I think there's an ATI OpenGL extension to load a particular mipmap level into a texture unit.
because hardware compute mip-level in per-pixel level(in pixel shader, when you call tex2d, tex2dlod or tex2dgrad), so all level of mip-maps will be sent to the gpu.
I see! Thanks for the help!
With DirectX 9 you can call SetSamplerState(<sampler index>, D3DSAMP_MAXMIPLEVEL, <maximum mipmap level>). I'm not sure if it actually prevents sending the high detail mip levels to the graphics card memory though...

This topic is closed to new replies.

Advertisement