BC7 has a weakness: There’s only a single alpha mode that supports 2 subsets (mode 7). And it assumes alpha is correlated with RGB. The other alpha modes are only 1 subset modes, so they can’t handle complex RGB blocks well.
-
Show this thread
-
So if the block has uncorrelated alpha and is complex enough in RGB, there’s not a lot you can do. Either RGB suffers or alpha suffers.
2 replies 1 retweet 1 likeShow this thread -
Also: Modes 4 and 5 support component rotations, allowing one of the RGB components to be encoded seperately. This results in different looking artifacts vs. all other modes.
1 reply 1 retweet 1 likeShow this thread -
So as a developer using BC7, you need to be very careful what you decide to put into the alpha channel. Ideally it should be correlated (resemble strongly) RGB. It’s not really a fully separate channel like DXT5/BC3.
2 replies 1 retweet 1 likeShow this thread -
Our BC7 encoders will handle uncorrelated alpha better than the open source ones. We’re putting a lot of effort into this.
2 replies 1 retweet 3 likesShow this thread -
Replying to @richgel999
it's not as bad as you describe, because each block can decide which channel is independent. with bc3 it's always the same channel that gets to "be alpha"
1 reply 0 retweets 1 like -
Replying to @bmcnett
First, this is exactly the feature that I'm seeing some AAA developers disable (mode 4/5 component rotation) because it leads to different artifacts vs. the other modes. Even with rotation support, existing BC7 encoders are weak with uncorrelated alpha: http://richg42.blogspot.com/2018/10/bc7-with-decorrelated-alpha.html …
1 reply 1 retweet 1 like -
Replying to @richgel999 @bmcnett
This problem is easily reproduced: just put in different non-trivial uncorrelated signals into RGB vs. A and watch the open source BC7 encoders trash alpha. I've been seeing this for months but I haven't had time to investigate it until now.
2 replies 0 retweets 2 likes
Ultimately, you can ignore this information and continue along as things have been. Developers using stronger BC7 codecs that factor this knowledge in will be able to ship BC7 textures containing more complex/decorrelated alpha data vs. developers who don't.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.