Files
basis_universal/contrib/single_file_transcoder
Carl Woffenden fd6b7117e4 Minor docs, minor size tweaks
Clarified this is C++ source and not header-only. Added Android build options and excluded BC7 mode 6.
2019-09-26 03:42:01 +02:00
..
2019-09-20 15:00:02 -04:00
2019-09-24 18:43:15 +02:00
2019-09-26 03:42:01 +02:00

Single File Basis Universal Transcoder

The script combine.sh creates an amalgamated C++ source file that can be used with or without basisu_transcoder.h. This isn't a header-only file but it does offer a similar level of simplicity when integrating into a project.

Create basisutranslib.cpp from the transcoder source using:

cd basis_universal/contrib/single_file_transcoder
./combine.sh -r ../../transcoder -o basisutranslib.cpp basisutranslib-in.cpp

Then add the resulting file to your project (see the example files).

create_translib.sh will run the above script, creating the file basisutranslib.cpp.

Why?

Because all it now takes to support Basis Universal is the addition of a single file, two if using the header, with no configuration or further build steps (the out-of-the-box defaults tailor the included formats for various platforms).

The library is small, adding, for example, 249kB to an Emscripten compiled WebAssembly project (with transcoding disabled for BC7 and ATC; disabling ASTC can remove a further 64kB, and gzip will approximately half the wasm file).