Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tighten swizzling with supercompression #99

Open
lexaknyazev opened this issue Jul 20, 2019 · 1 comment
Open

Tighten swizzling with supercompression #99

lexaknyazev opened this issue Jul 20, 2019 · 1 comment

Comments

@lexaknyazev
Copy link
Member

KTX2 files may have swizzling metadata that are expected to be applied on rendering.

KTX software behavior on processing files with such metadata via Basis should be documented and preferably configurable.

Swizzling like rabb may yield drastically different error metrics after supercompression. So there should be two options:

  • compress values as-is, leave swizzling metadata in the supercompressed KTX file;
  • apply swizzling before invoking Basis compressor and remove swizzling metadata from the compressed KTX file.

Transcoding Basis slices to BC4 and BC5 formats may imply additional internal swizzling, so there should be accurate documentation on that.

@MarkCallow
Copy link
Collaborator

Swizzling like rabb may yield drastically different error metrics after supercompression

Don't you mean after block compression (i.e. after ETC1S or UASTC encoding? Supercompression is lossless. And therefore isn't this an issue for any block-compressed format? Should we recommend not using swizzle with block-compressed formats?

KTX software currently applies swizzle prior to encoding a ktxTexture2 to BasisLZ/ETC1S or UASTC and removes the swizzle from the texture.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants