4 ms·
How does this compare to Basis Universal encoding? https://github.com/BinomialLLC/basis_universal https://github.com/BinomialLLC/basis_universal
by ImHereToVote 2y ago
How does this compare to Basis Universal encoding?
https://github.com/BinomialLLC/basis_universal https://github.com/BinomialLLC/basis_universal
- lifthrasiir 2y agoBasis is an offline codec, while this one is an online or real-time codec. While Spark claims a comparable performance to Basis for some cases, you should expect some quality degradation---acceptable or not---in general.
- Jasper_ 2y agoBasis also drops quality on the floor by targeting subsets (ETC1s and UASTC) in hopes of having a "common transcodeable subset". In practice, a number of runtime transcoders seem to just decode to RGBA and then fully re-encode anyway, but on the CPU.
- castano-ludicon 2y agoBasis is an offline codec. Spark allows you to encode textures that are generated at runtime. This enables the use of texture compression in cases that were not possible before, for example: - UGC Textures allow users to customize their avatars or modify them based on gameplay. - Virtual Texturing makes it possible to composite terrain layers and apply decals. - Procedural textures can be much more compact and respond to environment changes dynamically. Spark can also be used in combination with traditional offline codecs optimized transmission and storage. AVIF and JXL are great options for this, but need to be decompressed in memory, thus their use is very expensive at runtime. Spark allows you to transcode from these formats into GPU optimized representations.