Truevision TGA (.tga)
Truevision 標準Truevision TGA(Targa)は、画期的なTARGAビデオキャプチャボード向けに開発された歴史的なラスターグラフィックス形式であり、1990年代から2000年代にかけて決定版の3Dテクスチャおよびビデオゲームアセット形式となりました。
TGA を PNG に変換
無料のブラウザ内 TGA から PNG へのコンバーター。お使いのデバイスでファイルを即座に変換します。
調査とメタデータ
オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで TGA ファイルを識別します:
バイトレベルのヘッダーシグネチャ (マジックバイト)
オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで TGA ファイルを識別します:
16進数シグネチャ (オフセット 0):
00 00 02 00 00 00 00 00ASCII表現: ........ (Footer: TRUEVISION-XFILE)
標準化: Truevision TGA File Format Specification v2.0
技術仕様
| コンテナアーキテクチャ | 18-byte fixed header followed by image ID, color map, raster pixel data, and optional v2.0 footer |
| 圧縮 | Uncompressed raw scanlines or lossless packet-based Run-Length Encoding (RLE) |
| バイトエンディアン | Little-Endian (Intel x86) |
| 色空間 | Device RGB |
| チャンネルと構造 | 8-bit grayscale, 16-bit RGB (5-5-5-1), 24-bit RGB, or 32-bit RGBA with alpha |
| 最大寸法 | 65,535 x 65,535 pixels (16-bit dimension fields) |
| 透過性 | Full 8-bit alpha channel transparency (in 32-bit mode) or 1-bit alpha (in 16-bit mode) |
| ストリーミングとプログレッシブ | Sequential scanline streaming; supports top-to-bottom or bottom-to-top orientation |
技術比較マトリックス: TGA 対 競合製品
| 技術属性 | TGA (現在) | PNG | BMP | DDS |
|---|---|---|---|---|
| ビデオゲームテクスチャでの使用 | 1990〜2000年代の普遍的なレガシー標準 | 最新の2D UIおよびWebアセット | Windowsレガシービットマップ | DirectXの最新圧縮GPU形式 |
| アルファチャンネルのサポート | クリーンな8ビットアルファ(32ビットモード) | クリーンな8ビットアルファ | 制限付き32ビットアルファ | DXT/BC圧縮アルファ |
| 圧縮アルゴリズム | 非圧縮またはパケットRLE | ロスレスDeflate(約60%小型) | 非圧縮 / RLE | 直接GPUブロック圧縮(BC1-BC7) |
| 署名の場所 | 26バイトのフッター(「TRUEVISION-XFILE.」) | バイト0のヘッダー(「‰PNG....」) | バイト0のヘッダー(「BM」) | バイト0のヘッダー(「DDS 」) |
一般的な破損モードと16進数リカバリガイド
画像が上下逆または水平方向に反転して描画される。
根本原因: 画像記述子のビット(バイト17のビット4および5)がデコーダーによって誤読または反転されている。
復旧: 垂直/水平反転フラグを切り替えるか、File2File TGAコンバーターを使用して変換します。
セキュリティ分析とパーサー攻撃ベクトル
TGAデコーダーはパケットベースのRLEストリームを処理するため、不正なランレングス数によって領域外ヒープ書き込みを引き起こす可能性があります。
既知の攻撃ベクター
- 宛先スキャンラインバッファの境界を超えるRLEパケット長。
- 宣言されたカラーマップ深度を超えるカラーマップエントリを読み取る際のバッファオーバーフロー。
- 幅 × 高さ × (bpp / 8) のメモリバッファ割り当て中の整数オーバーフロー。
防御的ベストプラクティス:
歴史的背景とマイルストーン
主な利点とメリット
- 極めて単純なデコードアーキテクチャにより、最小限のCPUオーバーヘッドでGPUテクスチャメモリへの直接ロードが可能です。
- 信頼性の高い32ビットRGBAアルファチャンネルサポートにより、ビデオゲームのテクスチャ、スプライト、デカールで業界の定番となりました。
- 非圧縮と軽量なロスレスRLE圧縮の両方をサポートしています。
技術的な制限とデメリット
- DDS、KTX2、PNGなどの最新の圧縮テクスチャ形式と比較してファイルサイズが大きくなります。
- ネイティブなカラープロファイル管理が欠如しています(埋め込みICCプロファイルなし)。
- オリジナルのv1.0 TGAファイルには、バイト0に標準化されたマジックバイトがありません(ヘッダーフィールドとフッターで識別されます)。
興味深い技術トリビア
- TGAは、標準的なPCモニターが24ビットカラーを表示できるようになる前、IBM PCで放送用ビデオフレームをキャプチャするために作成されました。
- TGA 2.0ファイルは、マジック署名(「TRUEVISION-XFILE.」)がファイルの先頭ではなく最後尾に格納されているという特徴があります。
- id TechからUnreal Engineに至るまで、1990年代の主要な3Dゲームエンジンのほとんどすべてが、.TGAファイルから直接テクスチャアセットをロードしていました。
よくある技術的な質問
なぜゲーム開発者はTGA形式を好んだのですか?
TGAファイルは非圧縮またはシンプルなRLEであり、ゲームエンジンが低速な解凍処理を行うことなく、32ビットのテクスチャやアルファ透明度をビデオメモリに直接読み込むことができたためです。
バイト0にマジックバイトがないTGAファイルをどのように識別しますか?
最新のTGA 2.0ファイルは、ファイルの最後の26バイトにASCII文字列「TRUEVISION-XFILE.」が含まれています。
TGAをPNGに変換するにはどうすればよいですか?
データを一切送信することなく、ブラウザから直接File2File.appを使用して、TGAテクスチャを高品質なPNGまたはJPG画像に変換できます。