KhronosGroup / KhronosGroup/KTX-Software

Add more quality metrics

Open
#318 2 comments 0 reactions 0 assignees View on GitHub
awaiting basisu fix
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.