3 ms·
Would it be possible to have more intermediary mips levels, (for instance instead of {1, 0.5, 0.25} have {1, 0.75, 0.5, 0.375, 0.25}? How much would it help?
by Jyaif 5y ago
Would it be possible to have more intermediary mips levels, (for instance instead of {1, 0.5, 0.25} have {1, 0.75, 0.5, 0.375, 0.25}?
How much would it help?
- midnightclubbed 5y agoYou would need to texture sample the intermediate mip levels separately. All GPUs (that I know of) expect the mips to be power-2 reductions. You are also increasing texture memory usage (storage and bandwidth) by 50%. There is probably some quality improvement, but there is a fairly large cost. Would be interesting to see what the results look like.
- dahart 5y agoYes it would be possible! There isn’t GPU hardware that does it, but it could be done in GPU or CPU software. (This is slower than GPU hardware texture filtering.) Hard to say how much it would help the visual quality, but it’s easy to calculate the costs, which are largely memory. A map map consumes 1/3rd more memory than a texture. If you add a 2nd set of points starting at 75% zoom, then I think (napkin math) it’ll bring your memory consumption closer to 2x the original texture. https://en.wikipedia.org/wiki/Mipmap#Mechanism https://en.wikipedia.org/wiki/Mipmap#Mechanism
- taylorius 5y agoIndeed, - it's a question of storage. If you imagine mipmaps being precalculated convolutions of the original texture map, then there are infinitely many such convolutions that may be appropriate for some 3D view of that textured surface. On a related note, there is a technique called summed area tables, which allows for the rapid evaluation of the total value of all pixels in any axis aligned rectangle, with only a few additions and subtractions. AFAIK this never really caught on though, because it required the storage of much larger numbers than GPU textures could historically support.