KhronosGroup / KhronosGroup/KTX-Software
Add more quality metrics
- Dominant language
- C++
- Stars
- 1.4k
- Forks
- 317
- Avg merge
- 20h 12m
- Merged PRs (30d)
- 3
Description
While this issue affects mostly Basis Universal encoder, it may be reasonable to discuss KTX frontend here first.
Usually, Basis Universal encoder aims to minimize MSE and/or PSNR for the RGB or RGBA data. This may also include non-linear transfer function and luma values computed from a weighted RGB(A) sum.
While this is fine for color data, some other types of texture maps may benefit from different approaches. Two new modes come to mind:
- Optimizing normal maps for angular difference.
- Explicitly ignoring some channels by user's request. For example, when the useful data is sampled only from green and blue, the red channel could have any random values if that reduces overall error.
Contributor guide
Research direction
The issue names the Basis Universal encoder and KTX frontend, but no files, tests, or entry points. Start by tracing how RGB/RGBA MSE or PSNR quality metrics are selected and discuss the proposed normal-map angular metric and channel-ignoring mode. Done requires an agreed scope and implementation plan for the additional quality modes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100