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.
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: