Mipmaps appearing too blurry

Started by
2 comments, last by GameDev.net 19 years, 4 months ago
Hi, I'm having a problem with mipmaps.. Here is a screenshot showing it: If you look at the road, you can see near the camera, it has a pretty good LOD, but very quickly, it becomes too blurry to see it properly... Is there some way to fix this? Perhaps in D3D you can somehow specify how many distance units there should be between one LOD level and the next? Maybe this is happening because I am using feet for my units, and the map is approx 1 square mile, so quite often things that you are looking at are actually 1,000 to 2,000 feet (units) away... Thanks a lot, roos
Advertisement
The scale of your objects should not matter. D3D switches to smaller mip levels when your ratio of texels to pixels becomes low enough... ie: If you try to cram a 512x512 texture into 10 pixels, it won't use the 512x512 version of the image, it will use the 16x16 level of texture.

The hardware is optimized to use this mipping. You can apply a bias to the mip selection, however it will render slower. Another option is to use higher quality mip images. If you have D3DX create mip maps at load time, it apparently does a pretty bad job. Look for the nVidia DDS photoshop plugin, or other texture mip generation utilities. Create a DDS file, as DDS files can have all miplevels pre-generated and stored in the file. If this fails you can always take the pregenerated mip images, hand tweak them, and pack them back as a DDS. You don't have to rely on autogenerated blurry images, though it's rare to need to hand-tweak the individual mip maps.
Ahh, I see... I didn't consider that the problem might be in the quality of the image itself.

Thanks a lot, I'll try using higher res texture + DDS file and hopefully that should fix it. (As you suspected, I am currently using D3DX for generating the mipmaps)
Anisotropic filtering was created to solve this problem. Also stretching your texture a bit in the road direction might help.

This topic is closed to new replies.

Advertisement