godotengine / godot-proposals

Godot Improvement Proposals (GIPs)
MIT License
1.16k stars 97 forks source link

Use Rapid, Detail-Preserving Image Downscaling for mipmaps (DPID) #10667

Open fire opened 1 month ago

fire commented 1 month ago

Describe the project you are working on

V-Sekai focuses on providing social VR functionality for the open source Godot Engine.

Describe the problem or limitation you are having in your project

Mipmaps for images has a standard algorithm, but new research argues for over-emphaising areas to make the perceived mip-map better looking.

Describe the feature / enhancement and how it helps to overcome the problem or limitation

Image downscaling can be improved for user perception

  1. 2016 https://github.com/mergian/dpid
  2. 2016 https://github.com/Mishini/dpid
  3. 2024 https://www.researchgate.net/publication/364188351_A_New_Rapid_and_Detail-preserving_Image_Downscaling_without_Noise_Amplification

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

Implement Detail-Preserving Image Downscaling into Godot Engine

Details to be determined.

If this enhancement will not be used often, can it be worked around with a few lines of script?

Cannot be done with script because it is an intensive image processing problem

Is there a reason why this should be core and not an add-on in the asset library?

Trying to determine if DPID should be an addon. In the exploration state, if it's determined to work better for everything, it would be a candidate to merge into core Godot Engine.

Calinou commented 1 month ago

Out of curiosity, how does this compare to https://github.com/godotengine/godot-proposals/issues/2450?

fire commented 1 month ago

DPID is a better filter than kaiser according to user perception testing.