3DCGソフトウェア
モデル最適化 > テクスチャ最適化 > テクスチャ圧縮

これらのソフトウェアは主にゲームやリアルタイムレンダリング向けである。オフラインレンダリング向けでは、OpenEXRの圧縮機能を使うことが多い。
テクスチャ圧縮に使用可能な方式は、使用するAPIやGPUによって異なっており、モバイル向けとデスクトップ向けで異なる圧縮が使われている。また、2018年6月時点で、OpenGL ES 3.0未満にのみ対応するGPUを使っている消費者がまだ残っているため、レガシーな圧縮方式も未だ使われている。一方、デスクトップでは既にDirectX 11以降にほぼ移行した。
デスクトップ向けでは、Direct3D 10以前で主流となっていたDXTn (S3TC、BC1～3)がレガシーとなりつつあり、Direct3D 11で採用されたBPTC (BC6H/BC7)が普及しはじめている。モバイル向けでは、当初GPUベンダー毎に異なる圧縮方式しか使うことができなかった (Qualcomm製GPU専用のATC (ATITC)、PowerVR専用のPVRTC、NVIDIA製GPU用のDXTnなど) ものの、2010年のAndroid 2.2の登場により、GPUに依存しない圧縮方式として透明度非対応のETC1が使えるようになった。その後、OpenGL ES 3.0とMetalでETC1の後継であるETC2が採用され、透過度にもETC2+EACで対応した。Android 5.0及びiPhone 6以降では、最新の圧縮方式であるASTCが使えるようになっている。
デスクトップとモバイルの両方への互換性を保つため、各種圧縮テクスチャへのリアルタイム変換が可能な圧縮テクスチャ形式も登場しており、KTX2形式で使用可能になる予定となっている (ETC1サブセットのETC1S、ASTCサブセットのUASTCなど)。
法線マップなどの互いのチャンネルに相関性がないテクスチャの圧縮では、法線マップをDXT5に詰める方式であるDXT5n (DXT5nm、BC3n)が存在したものの、その後、法線マップ向けのATI2 (3Dc、BC5、RGTC2、DXN2)がDirect3D 10やOpenGL 3.0に採用されて普及し、デスクトップで使われている。モバイルではQualcomm製GPUやNVIDIA製GPUなどの3Dcに対応する実装もあるが標準化されておらず、OpenGL ES 3.0ではEAC圧縮を使うのが標準となっている。
1chテクスチャ (高さマップなど) 向け圧縮では、デスクトップ向けのATI1 (3Dc+、DXT5A、BC4、RGTC1、DXN1)と、モバイル向けのEACが存在する。ASTCは、1chテクスチャ、法線マップ等の2chテクスチャ、3Dテクスチャにも対応している。今後デスクトップにも導入される予定。
またテクスチャ圧縮の上に通常の可逆圧縮を追加することが可能である (スーパー圧縮)。KTX2形式で採用されたスーパー圧縮方式として、BasisLZ、zlib、Zstandardが存在する。
| 方式の開発元> 旧Direct3D名.新Direct3D名.OpenGL名.OpenGL名.別名 | S3 Graphics> DXT1.BC1.S3TC.S3TC. | S3 Graphics> DXT2.BC2... | S3 Graphics> DXT3.BC2.S3TC.S3TC. | S3 Graphics> DXT4.BC3... | S3 Graphics> DXT5.BC3.S3TC.S3TC. | AMD> ATI1.BC4.RGTC.1.3Dc+ | AMD> ATI2.BC5.RGTC.2.3Dc | NVIDIA> .BC6H.BPTC_ FLOAT.BPTC_ FLOAT. | NVIDIA> .BC7.BPTC.BPTC. | ARM /AMD> .ASTC.ASTC.ASTC. | Ericsson> ..ETC.1. | Ericsson> ..ETC.2. | Ericsson> ..EAC.EAC. | その他> その他. |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Compressonator | Yes | No | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | ATC (ATITC) |  |
| Mali Texture Compression Tool | No | No | No | No | No | No | No | No | No | Yes | Yes | Yes | Yes |  |  |
| Arm ASTC Encoder | No | No | No | No | No | No | No | No | No | Yes | No | No | No |  |  |
| Fast ISPC Texture Compressor | Yes | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No |  |  |
| Adreno Texture Tool | Yes | No | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ATC (ATITC) |  |
| PVRTexTool | Yes | Yes | Yes | Yes | Yes | No | No | No | No | Yes | Yes | Yes | Yes | PVRTC1/2 ETC1S、UASTC |  |
| texturetool | No | No | No | No | No | No | No | No | No | Yes | No | No | No | PVRTC |  |
| NVIDIA Texture Tools Exporter | Yes | ? | Yes | ? | Yes | Yes | Yes | Yes | Yes | Yes | ? | ? | ? |  |  |
| DirectXTex | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No |  |  |
| bc7_gpu | No | No | No | No | No | No | No | No | Yes | No | No | No | No |  |  |
| FasTC | Yes | No | No | No | Yes | No | No | No | Yes | No | Yes | No | No | PVRTC |  |
| texgenpack | Yes | No | Yes | No | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | No |  |  |
| GPU​Real​Time​BC6H | No | No | No | No | No | No | No | Yes | No | No | No | No | No |  |  |
| bc7enc_rdo | Yes | ? | ? | ? | Yes | Yes | Yes | ? | Yes | ? | ? | ? | ? |  |  |
| Betsy | Yes | ? | Yes | ? | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes |  |  |
| Texture Works Plugin For Photoshop | Yes | No | No | No | Yes | Yes | Yes | Yes | Yes | No | No | No | No |  |  |
| crunch (Unity Technogies版) | Yes | No | Yes | No | Yes | No | Yes | No | No | No | Yes | 1相当 | No | Crunched DXT1/5、Crunched ETC1/2、ETC1S/2AS |  |
| ETCPACK | No | No | No | No | No | No | No | No | No | No | Yes | Yes | Yes |  |  |
| Etc2Comp | No | No | No | No | No | No | No | No | No | No | Yes | Yes | Yes |  |  |
| etcpak | Yes | No | No | No | Yes | No | No | No | No | No | Yes | Yes | No |  |  |
| GIMP 2.10.10以降 | Yes | No | Yes | No | Yes | Yes | Yes | No | No | No | No | No | No |  |  |
| etc1tool | No | No | No | No | No | No | No | No | No | No | Yes | No | No |  |  |