Mip mapping with a custom downscaling algorithm#14144
Mip mapping with a custom downscaling algorithm#14144HybridDog wants to merge 1 commit intoluanti-org:masterfrom
Conversation
7dd8587 to
41f2f5d
Compare
|
Is perceptual downscaling even appropriate for mipmaps? They aren’t final images, they undergo stretching, skewing, and other processing before display. |
I think it's a matter of taste. Here I have implemented the mix with 50 % linearly-downscaled texture. |
f3f3d22 to
b898933
Compare
|
@HybridDog rebase needed |
Currently, the lower-resolution mip maps in Minetest are generated without gamma correction and are therefore often too dark. Furthermore, common mip maps are downscaled without preserving the image contrast. After this change, it is possible to choose between the default mip map generation and a new custom mip map generation algorithm which preserves image sharpness and average brightness.
|
I have rebased it. Thanks for notifying me. |
|
@HybridDog rebase needed |
|
I suppose I should be the one reviewing this since I approved the concept. Unfortunately I am short on time. |
|
After creating this Pull Request I found out that there's a patent associated with the paper (see my other comment). I still don't understand what exactly is patented and what this means for this and the other Pull Request. |
|
@HybridDog so what would you like to do? I haven't checked the patent |
Currently, the lower-resolution mip maps in Minetest are generated without gamma correction and are therefore often too dark. Furthermore, common mip maps are downscaled without preserving the image contrast.
To fix these problems, I have implemented custom mip map generation with a SSIM-based perceptual downscaling algorithm.
Disabled mip mapping:

Mip mapping with the default downscaling algorithm:

Mip mapping with the proposed custom downscaling algorithm:

For more pictures and information about the algorithm, see #6917 and the Perceptually Based Downscaling of Images paper.
Associated Issues: #6917, #6867
Roadmap goal: 2.1 Rendering/Graphics improvements
Unfinished rebase: https://github.com/HybridDog/minetest/tree/mipmap_custom_rebased_but_missing_setMipMapsData
How to test
Set the mip mapping setting to
sharpand play