so the two numbers are compared, and either way, c0 and c1 are RGB 5:6:5 colors.
Then, depending on which is bigger, c2 and c3 get calculated.
Top-level
so the two numbers are compared, and either way, c0 and c1 are RGB 5:6:5 colors. 9 comments
but if c1 is bigger than c0, then: so now you have 4 colors, c0 through c3. The final 32 bits of the subblock is an index into this palette, with two bits per pixel. so yeah. dxt1 works by having you define two colors, they get an extra bit of metadata by making the order of the colors important, then generate 2 more colors based on those colors + metadata. ugh it turns out it's hard to decode 0-width fonts, thanks to divisions. I'm now mass-converting all the textures. |
if c0 is bigger than c1, then:
c2 is set to 2/3rds of c0 + 1/3rd of c1
and
c3 is set to 1/3rd of c0 and 2/3rds of c1.