Encoder is now a library in the "encoder" directory
JavaScript wrappers now expose the entire codec: encoder, transcoder, container independent transcoding, and .basis file information
- Removing BC7 mode 6 support from transcoder (will alway use the much smaller mode 5 tables now)
- Adding BMP support
- Adding -bench mode, for development
- CMakeLists.txt file now compatible with Visual Studio 2019 (MSVC)
By default, emscripten's generated javascript modules lives in the global object "Module'.
This makes it impossible to load multiple emscripten modules on the same page.
In attempt to avoid namespace collision, this change modularizes the emscripten build so the Module is instead called 'BASIS'.
Many target applications for Basis are likely to already be using other emscripten modules.
Testing:
The existing webgl/(texture|gltf) pages have been updated to use the new name and seem to operate as before
This change makes it possible to exclude formats using compile time
options. BC7 is *never* exposed on the web and it has an absolutely huge
coding table which means we're just wasting space.
basis_transcoder.js 58707
basis_transcoder.wasm 224404
The impact on the file size is enormous, and it's used to output one
line into console which isn't exposed through the API anyhow.
basis_transcoder.js 58707
basis_transcoder.wasm 705079