Cross-platform implementation for Texconv and Texassemble. You can use it as a DLL (or a shared library).
Texconv is a DDS converter developed by Microsoft. It supports all dds formats. There are some dds formats common tools can't handle properly, but Texconv can. It's the best DDS converter as far as I know.
You can add some features by cmake options.
- Disable GPU codec (
TEXCONV_NO_GPU_CODEC) - Enable to use texassemble as a DLL function (
TEXCONV_USE_TEXASSEMBLE) - Enable to build texassemble as an executable (
TEXCONV_USE_TEXASSEMBLEandTEXCONV_BUILD_AS_EXE)
The official texconv only supports Windows. But the custom build supports the following platforms and compilers.
- Windows 10 (or later) + MSVC
- MacOS 10.15 (or later) + AppleClang
- Linux + GCC 9.1 (or later)
You can download built binaries from the release page.
Each zip file has a DLL and executables. The executables don't refer the DLL.
TexconvCustomDLL*-Windows.zipis for Windows.TexconvCustomDLL*-macOS.tar.xzis for macOS (10.15 or later).TexconvCustomDLL*-Linux.tar.xzis for Linux with GLIBC 2.29+ and GLIBCXX 3.4.26+.
Note
The linux build only supports distributions using GLIBC.
Build the executable by yourself if you want to use it on unsupported distros.
See here if you want to know how to use texconv.
Usage
We provide a CMake wrapper ./build.cmd to build texconv with a single command.
See the following pages for the details.
Linux users can use docker to build the binaries. See the docker files for the details.
- Dockerfile_Ubuntu: Build texconv with GCC and glibc on Ubuntu
- Dockerfile_Alpine: Build texconv with GCC and musl on Alpine Linux
Of course, you can run CMake commands yourself. See CMake-Options.md for available options.
The original source code of this repository is licensed under the MIT License (see LICENSE).
This project includes third-party software, which is licensed under its own respective licenses. When redistributing binaries, you must retain THIRD_PARTY_LICENSES.txt to comply with those licenses.
See THIRD_PARTY_LICENSES.txt for full license texts and copyright notices.
| Project | License | Included in | Purpose |
|---|---|---|---|
| DirectXTex | MIT | All platforms | |
| DirectX-Headers | MIT | All platforms | |
| DirectXMath | MIT | All platforms | |
| safestringlib | MIT | Linux / macOS | |
| libjpeg-turbo | zlib/libpng, IJG | Linux / macOS | JPEG support |
| libpng | zlib/libpng | Linux / macOS | PNG support |
| zlib | zlib/libpng | Linux | PNG support |
| OpenEXR | BSD-3 | All platforms | EXR support |
| Imath | BSD-3 | All platforms | EXR support |
| libdeflate | MIT | All platforms | EXR support |
| OpenJPH | BSD-2 | All platforms | EXR support |