Home

DXT3

DXT3 is a block-based texture compression format in the S3 Texture Compression (S3TC) family, commonly referred to as BC2 in DirectX nomenclature. It compresses textures in 4x4 texel blocks, with a fixed 16-bytes per block layout: 8 bytes for per-texel alpha data and 8 bytes for color data, allowing efficient storage and fast decompression on many GPUs. DXT3 is designed to preserve sharp per-pixel transparency by storing explicit alpha values and applying them to the decompressed color information.

The alpha part of a DXT3 block consists of 16 four-bit alpha values, one for each texel

Decoding a DXT3 block involves reconstructing the per-texel color from the color endpoints and their indices,

in
the
4x4
block,
totaling
64
bits.
These
alpha
values
range
from
0
to
15
and
are
typically
scaled
to
0–255
when
used
by
applications.
The
color
part
mirrors
the
DXT1
encoding:
two
16-bit
color
endpoints
encoded
in
5-6-5
RGB
format,
plus
a
32-bit
lookup
table
that
provides
a
2-bit
index
for
each
texel
to
select
among
four
interpolated
colors
derived
from
the
endpoints.
then
applying
the
per-texel
alpha
value
from
the
corresponding
4-bit
field.
This
yields
a
final
RGBA
texel
with
a
fixed
4-bit
alpha
resolution.
The
format
is
widely
supported
and
was
common
in
older
DirectX/OpenGL
pipelines.
DXT3
is
often
contrasted
with
DXT5
(BC3),
which
combines
the
same
color
block
layout
with
interpolated
alpha
instead
of
explicit
per-texel
alpha,
offering
improved
alpha
quality
in
many
cases.