diff options
author | Liam <byteslice@airmail.cc> | 2023-05-20 17:15:36 -0400 |
---|---|---|
committer | Liam <byteslice@airmail.cc> | 2023-05-23 12:54:40 -0400 |
commit | 415c78b87c008f0d963679ea9bc06c8aa566b506 (patch) | |
tree | 11e6a5d2211a99660a48678059c703e849c06da3 /externals/stb/stb_dxt.h | |
parent | f82efe9f65c5fc7aa2bba88ae38e211b98590efd (diff) |
textures: add BC1 and BC3 compressors and recompression setting
Diffstat (limited to 'externals/stb/stb_dxt.h')
-rw-r--r-- | externals/stb/stb_dxt.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/externals/stb/stb_dxt.h b/externals/stb/stb_dxt.h new file mode 100644 index 000000000..07d1d1de4 --- /dev/null +++ b/externals/stb/stb_dxt.h @@ -0,0 +1,36 @@ +// SPDX-FileCopyrightText: fabian "ryg" giesen +// SPDX-License-Identifier: MIT + +// stb_dxt.h - v1.12 - DXT1/DXT5 compressor + +#ifndef STB_INCLUDE_STB_DXT_H +#define STB_INCLUDE_STB_DXT_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef STB_DXT_STATIC +#define STBDDEF static +#else +#define STBDDEF extern +#endif + +// compression mode (bitflags) +#define STB_DXT_NORMAL 0 +#define STB_DXT_DITHER 1 // use dithering. was always dubious, now deprecated. does nothing! +#define STB_DXT_HIGHQUAL \ + 2 // high quality mode, does two refinement steps instead of 1. ~30-40% slower. + +STBDDEF void stb_compress_bc1_block(unsigned char* dest, + const unsigned char* src_rgba_four_bytes_per_pixel, int alpha, + int mode); + +STBDDEF void stb_compress_bc3_block(unsigned char* dest, const unsigned char* src, int mode); + +#define STB_COMPRESS_DXT_BLOCK + +#ifdef __cplusplus +} +#endif +#endif // STB_INCLUDE_STB_DXT_H |