テクスチャ圧縮
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/08 22:55 UTC 版)
「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が存在する。 対応表方式の開発元S3 GraphicsAMDNVIDIAARM/AMDEricsson旧Direct3D名DXT1DXT2DXT3DXT4DXT5ATI1ATI2新Direct3D名BC1BC2BC3BC4BC5BC6HBC7ASTCOpenGL名S3TCS3TCS3TCRGTCBPTC_FLOATBPTCETCEACその他1212別名3Dc+3DcCompressonatorYes No Yes No Yes Yes Yes Yes Yes Yes Yes No ATC (ATITC) Mali GPU Texture Compression ToolNo No No No No No No No No Yes Yes Yes Arm ASTC EncoderNo No No No No No No No No Yes No No Fast ISPC Texture CompressorYes No No No Yes Yes Yes Yes Yes Yes Yes No No Adreno Texture ToolYes No Yes No Yes Yes Yes Yes Yes Yes Yes Yes ATC (ATITC) PVRTexToolYes Yes Yes No No No No Yes Yes Yes PVRTC1/2ETC1S、UASTC texturetoolNo No No No No No No No No Yes No No PVRTC NVIDIA Texture Tools ExporterYes ? Yes ? Yes Yes Yes Yes Yes Yes ? ? ? DirectXTexYes Yes Yes Yes Yes Yes Yes No No No bc7_gpuNo No No No No No No No Yes No No No FasTCYes No No No Yes No No No Yes No Yes No No PVRTC texgenpackYes No Yes No Yes Yes Yes Yes Yes No Yes No GPURealTimeBC6HNo No No No No No No Yes No No No No bc7enc_rdoYes ? ? ? Yes Yes Yes ? Yes ? ? ? ? BetsyYes ? Yes ? Yes Yes Yes Yes No No Yes Yes Yes Texture Works Plugin For PhotoshopYes No No No Yes Yes Yes Yes Yes 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 ETCPACKNo No No No No No No No No No Yes Yes Etc2CompNo No No No No No No No No No Yes Yes etcpakYes No No No Yes No No No No No Yes No GIMP 2.10.10以降Yes No Yes No Yes Yes Yes No No No No No etc1toolNo No No No No No No No No No Yes No No
※この「テクスチャ圧縮」の解説は、「3DCGソフトウェア」の解説の一部です。
「テクスチャ圧縮」を含む「3DCGソフトウェア」の記事については、「3DCGソフトウェア」の概要を参照ください。
- テクスチャ圧縮のページへのリンク