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

BC6H de/encoder #7

Open
perludum opened this issue Sep 26, 2021 · 3 comments
Open

BC6H de/encoder #7

perludum opened this issue Sep 26, 2021 · 3 comments

Comments

@perludum
Copy link

Maybe this is an interesting candidate for a BC6H de/encoder (MIT license):
https://github.com/GPUOpen-Tools/compressonator/tree/master/cmp_compressonatorlib/bc6h

BC6H would be a nice addition in kram.

@alecazam
Copy link
Owner

alecazam commented Oct 2, 2021

That one is probably easiest to integrate and it has encode/decode. I heard quality on Compressenator isn't the best, but having the format vs. not is important. NVTT and DXTex also have encoders. This one below is a GPU encoder, but I'm not sure I want to add the GPU dependency to kram yet. There's just too many encoder types to port, and I'd need a gpu abstraction on Metal and Vulkan/DX12. I also still need to feed hdr (fp16/fp32) data down to ASTC HDR and to BC6.

https://knarkowicz.files.wordpress.com/2016/03/knarkowicz_realtime_bc6h_gdc_2016.pdf

@alecazam
Copy link
Owner

alecazam commented Oct 4, 2021

The BC6H compressonator sources are in the explicit Xcode projects. I'm also starting to turn on basis for ktx2 thumbnail decode. But I don't have either of these connected in where needed. It took a while to separate BC6H sources.

@alecazam
Copy link
Owner

alecazam commented Oct 10, 2021

Compressonator BC6H are now connected up to the bc7enc path for expedience, but it's all LDR right now. ASTC HDR and BC6H need an HDR path where the fp16/fp32 mip data is fed into them. This code is also likely broken in the half <-> float conversions.

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