Googleがテクスチャの圧縮技術を開発しているBinormialとオープンソースのユニバーサルテクスチャフォーマットで協力

Googleがテクスチャの圧縮技術を開発しているBinormialとオープンソースのBasis Universalというテクスチャフォーマットでパートナーシップを結んだようです.

Google and Binomial Partner to Open-Source Basis Universal Texture Format
https://opensource.googleblog.com/2019/05/google-and-binomial-partner-to-open.html

basis_universalリポジトリ
https://github.com/binomialLLC/basis_universal

GPU向けテクスチャ圧縮フォーマットはBC1~7,ETC1, ETC2やPVRT,ASTCなど様々あります.これらは,Direct3DやOpenGL,Vulkan,MetalなどのAPIの違いによっての使い分けやモバイルGPUベンダー特有の圧縮フォーマット(PVRTなど)などターゲットに合わせて事前に圧縮したものを作っておきます.

Basis Universal は,GPU向け圧縮フォーマットにトランスコードができる中間形式のようで読み込み時にBC1~7やETCなどに変換していくようです.

具体的な使用方法としてGoogleの方ではWebGLやWebGPUで使うテクスチャフォーマットとして使用したいと考えているようですね.ブラウザではJPEGやPNGなどの画像フォーマットをサポートしますが,これらはGPUに向いた圧縮形式ということではないので,.basisをサポートすることでブラウザがGPU向けテクスチャフォーマットを使えるようにしたいというようですね.

OSごとにブラウザの実装のバックエンドとなるグラフィックスAPIが異なるので.basisをWindowsならBC圧縮にトランスコードをし,モバイルETCやPVRTC,ASTCなどにしていくというようなシナリオを考えているようですね.

basisファイルGoogleはジオメトリの圧縮技術としてはDracoを持っていますが,テクスチャの圧縮はこちらを利用するようですね.glTFはDracoサポートしますが,テクスチャの.basisサポートが追加されるのかもしれませんね.