Yesterday, the team at Google and Binomial announced that they have partnered to open source the Basis Universal texture codec, a supercompressed GPU texture and texture video compression system. It is used for improving the performance of transmitting images on the web and also within the desktop and mobile applications while maintaining GPU efficiency.
This system fills an important gap in the graphics compression ecosystem and further complements earlier work in Draco geometry compression, used for compressing and decompressing 3D geometric meshes and point clouds.
The Basis Universal texture format is also 6-8 times smaller than JPEG on the GPU, also a great alternative to current GPU compression methods that are inefficient. It is used to create compressed textures that work well for use cases such as games, maps, photos, virtual & augmented reality, small-videos, etc.
Without a universal texture format, developers either have to use GPU formats and take the storage size or else use other formats with reduced storage size. But it is difficult to maintain too many different GPU formats as it is a burden on the whole ecosystem including GPU manufacturers to software developers to the end user.
Image source: Google blog
How does Basis Universal texture format work?
First, the image needs to be compressed using the encoder and the quality settings that suit the project needs to be chosen. Users can also submit multiple images for small videos or optimization purposes.
The transcoder code needs to be inserted before rendering that turns the intermediary format into GPU format that can be easily readable the computer. This way the image stays compressed throughout the process, and even on the GPU. So, the GPU will read only the parts it needs to read instead of decoding and reading the whole image.
- The Basis Universal texture format now supports up to 16K codebooks for both endpoints and selectors for higher quality textures.
- It uses a new prediction scheme for block endpoints.
- With this release, the RLE codes are implemented for all symbol types for high efficiency on simpler textures.
Google’s official blog post reads, “With this partnership, we hope to see the adoption of the transcoder in all major browsers to make performant cross-platform compressed textures accessible to everyone via the WebGL API, and the forthcoming WebGPU API.”
To know more about this news, check out Google’s blog post.