Author Topic: Basis Universal GPU Texture format in glTF  (Read 1182 times)

0 Members and 1 Guest are viewing this topic.


  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2046
    • View Profile
Basis Universal GPU Texture format in glTF
« on: May 24, 2019, 11:39:41 AM »
Earlier today, Google and Binomial announced that they have partnered to open source a sophisticated texture compressor and a high-performance transcoder for Binomial’s cross-platform Basis Universal texture format. This format can help solve a long-standing problem in the 3D ecosystem: how can 3D textures assets be efficiently packaged or transmitted for an application in a way that is both compact AND can be efficiently processed by the wide diversity of GPU hardware texture engines - each of which has a preferred native format?

This problem is particularly acute for WebGL/WebXR applications that have to transmit their 3D assets over the network in real-time, but even native mobile and PC games often ship with texture assets in multiple native GPU formats - significantly bloating install sizes and complicating texture transcoding and distribution for developers.

Textures in the Basis Universal format are similar in size to a JPEG image but they can be efficiently and flexibly transcoded to a wide variety of GPU native formats on the target device without needing to be fully decompressed. Google and Binomial are contributing this format to the open and royalty-free glTF standard being managed by the 3D Formats working group at Khronos.


Basis Universal GPU Texture format in glTF

Basis Universal is a "supercompressed" GPU texture and texture video compression system that outputs a highly compressed intermediate file format (.basis) that can be quickly transcoded to a wide variety of GPU texture compression formats: PVRTC1 4bpp RGB, BC7 mode 6 RGB, BC1-5, ETC1, and ETC2. We will be adding ASTC RGB or RGBA, BC7 mode 4/5 RGBA, and PVRTC1 4bpp RGBA next. Basis files support non-uniform texture arrays, so cubemaps, volume textures, texture arrays, mipmap levels, video sequences, or arbitrary texture "tiles" can be stored in a single file. The compressor is able to exploit color and pattern correlations across the entire file, so multiple images with mipmaps can be stored very efficiently in a single file.