Difference between revisions of "Choose the right DXTC compression algorithm"

imported>Dev akm
(→‎Preface.: grammer)
imported>Dev akm
Line 7: Line 7:
Altough most of what I'm describing should appear obvious and trivial to those skilled in the arts, I noticed there are some common mistakes which regularly appears also in the work coming from well-experienced texturers, so I think there's a need for some clarifications.
Altough most of what I'm describing should appear obvious and trivial to those skilled in the arts, I noticed there are some common mistakes which regularly appears also in the work coming from well-experienced texturers, so I think there's a need for some clarifications.


=Brief description of most common DXTC compression formats.=
=Common DXTC compression formats.=
Here's a brief description of the most common DXTC compression formats.


'''DXT1C/DXT1A.'''
==DXT1C/DXT1A==


Channels bit depth: 8:8:8:1 RGBA.
Channels bit depth: 8:8:8:1 RGBA.
Line 22: Line 23:
Instead, DXT1C is often described as "RGB texture withouth alpha channel". This is not true: the alpha channel is still present, but is completely white. Actually, there's no physical distinction between this and DXT1A, simply upon choosing DXT1C as compression algorithm the alpha channel is set to be completely white just before saving. This is tipically used for common completely opaque textures.
Instead, DXT1C is often described as "RGB texture withouth alpha channel". This is not true: the alpha channel is still present, but is completely white. Actually, there's no physical distinction between this and DXT1A, simply upon choosing DXT1C as compression algorithm the alpha channel is set to be completely white just before saving. This is tipically used for common completely opaque textures.


'''DXT3.'''
==DXT3==


Channels bit depth: 8:8:8:8 RGBA.
Channels bit depth: 8:8:8:8 RGBA.
Line 30: Line 31:
This is often described as "RGB texture with explicit alpha". It's commonnly used for partially transparent textures. There application field is the same of DXT5, theoretically you should use this when alpha channel is featuring steep variations. However, I must point out that from my personal experience in 99% of cases DXT5 will preserve better alpha channel detail, so if you don't have time enough to make a comparison, I recommend using DXT5 instead.
This is often described as "RGB texture with explicit alpha". It's commonnly used for partially transparent textures. There application field is the same of DXT5, theoretically you should use this when alpha channel is featuring steep variations. However, I must point out that from my personal experience in 99% of cases DXT5 will preserve better alpha channel detail, so if you don't have time enough to make a comparison, I recommend using DXT5 instead.


'''DXT5.'''
==DXT5==


Channels bit depth: 8:8:8:8 RGBA.
Channels bit depth: 8:8:8:8 RGBA.
Line 43: Line 44:
'''The most common mistake is this: some modders probably thinks that DXT5 is increasing RGB visual quality, so they systematically use it without caring whether alpha channel is used or not'''
'''The most common mistake is this: some modders probably thinks that DXT5 is increasing RGB visual quality, so they systematically use it without caring whether alpha channel is used or not'''


'''Uncompressed dds'''
==Uncompressed dds==


Channels bit depth: 8:8:8:8 RGBA.
Channels bit depth: 8:8:8:8 RGBA.
Anonymous user