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

Encoding/decoding BC6H is impossible due to lack of RGB-16F buffer type #245

Open
carlschissler opened this issue Apr 8, 2023 · 0 comments

Comments

@carlschissler
Copy link

There seems to be no easy way to encode 16-bit float data as BC6H, despite support for this codec being advertised. BC6H does not even support an alpha channel, so the only input uncompressed pixel formats that make sense are RGB.

However, compressonator seems to not have any support for 16-bit RGB buffer types (including integer). This is perplexing because the same 16-bit buffer types are there for R, RG, and RGBA formats. The enums for the 16-bit RGB types are conspicuously absent. WTF?

This means that in order to do anything at all with BC6H, I'd have to copy the image data to a temporary buffer, inserting an empty alpha channel for every pixel, then use the RGBA-16F format. I'm not sure if this would work either. I guess this is what the command line tool is doing, but it's not a good solution.

I'm just going to add the RGB buffer types myself to my own copy of the code (heavily modified at this point).

It is really frustrating that 10+ year-old software on version 4.3 from a major corporation hardly works, and that I have to make so many modifications/fixes to do some basic texture compression and decompression.

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

1 participant