Here's the situation that finally helped me see the problem.
Consider a (top-level) bump map that contains two surfaces angled at 90deg to each other rougly like:
The eye sits directly over it. Reflections off the sides then disappear off one to either side of the bump. Let us say that one of these corresponds to a green light, one to a red light.
So when using a mipmap, somehow you have to still get both the green + the red and get a dull yellow result (50% of the red, 50% of the green), but you only have a single sample to play with...
PSarge's example is the same thing writ large. For smooth, or nearly smooth surfaces, you can adjust the LOD of the environment map to sort out the problem, but for very bumped surfaces this doesn't work terribly well.
The result is that at the moment high-resolution bump maps with sharp gradients don't work terribly well except when close to the camera - you have to sacrifice bump depth in the mipmaps.
Consider a (top-level) bump map that contains two surfaces angled at 90deg to each other rougly like:
Code:
/\
/ \
/ \
So when using a mipmap, somehow you have to still get both the green + the red and get a dull yellow result (50% of the red, 50% of the green), but you only have a single sample to play with...
PSarge's example is the same thing writ large. For smooth, or nearly smooth surfaces, you can adjust the LOD of the environment map to sort out the problem, but for very bumped surfaces this doesn't work terribly well.
The result is that at the moment high-resolution bump maps with sharp gradients don't work terribly well except when close to the camera - you have to sacrifice bump depth in the mipmaps.