ブログに戻る
フォーマット

DDS 形式: DirectX テクスチャ圧縮の完全ガイド

18 最小読み取り

DDS (DirectDraw Surface) は、Microsoft の最高のテクスチャ コンテナ形式であり、DirectX アプリケーション用に特別に設計され、PC ゲーム業界全体で広く採用されています。 Windows ベースのグラフィック アプリケーションの事実上の標準として、DDS は、包括的なブロック圧縮 (BCn) 形式、非圧縮テクスチャ、およびミップマップ、キューブマップ、テクスチャ配列などの高度な機能をサポートしています。ネイティブ GPU ハードウェア サポートと最適化されたパフォーマンスにより、デスクトップおよびコンソール ゲーム開発に不可欠な形式となっています。

DDSフォーマットとは何ですか?

DDS は、圧縮および非圧縮テクスチャを保存するために Microsoft が開発したコンテナ形式で、元々は DirectX 用に作成されましたが、現在ではグラフィック フレームワーク全体で広くサポートされています。この形式は、テクスチャ データを GPU 消費に必要なメタデータとともにパッケージ化する標準化された方法を提供し、さまざまなハードウェア プラットフォーム間で最適なパフォーマンスと互換性を確保します。

DDS の核心は、さまざまなテクスチャ圧縮形式、特に BCn (ブロック圧縮) ファミリ (BC1 ~ BC7) のラッパーとして機能し、さまざまなテクスチャ タイプに対して効率的なハードウェア アクセラレーションによる圧縮を提供します。この設計により、開発者は追加の処理を行わずに GPU によって直接ロードできる形式でテクスチャを保存できるため、メモリ帯域幅を最小限に抑え、レンダリング パフォーマンスを最大化できます。

この形式の強みは、その包括的な機能セットと広く普及していることです。単純な 2D テクスチャから複雑なキューブマップやボリューム テクスチャまで、DDS は最新のグラフィックス アプリケーションのほぼすべてのテクスチャ要件を処理します。 DirectX との統合と、OpenGL や Vulkan などの主要なグラフィック API のサポートにより、クロスプラットフォーム開発の多用途な選択肢になります。

DDS フォーマットの主な特徴

ネイティブハードウェアサポート

CPU 解凍オーバーヘッドを発生させない、BCn フォーマット向けの直接 GPU ハードウェア アクセラレーション

完全なBCnサポート

すべての BCn フォーマット (BC1 ~ BC7) をサポートし、さまざまなテクスチャ タイプに最適な圧縮を提供します。

組み込みのミップマップのサポート

効率的な詳細レベルのレンダリングのためのネイティブ ミップマップ チェーン ストレージと管理

高度なテクスチャ機能

キューブマップ、ボリューム テクスチャ、テクスチャ配列、および高度なピクセル形式のサポート

BCn 圧縮形式の説明

DDS は、BCn (ブロック圧縮) フォーマットの完全なファミリーをサポートしており、それぞれがさまざまなタイプのテクスチャ コンテンツに合わせて最適化されています。

BC1(DXT1)

1 ビット アルファ付きまたはアルファなしの RGB 圧縮。透明度要件なしで、拡散テクスチャに対して高品質の 6:1 圧縮を提供します。

最適な用途: 拡散マップ、アルベド テクスチャ、アルファ チャネルのないカラー マップ

BC2(DXT2)

明示的な 4 ビット アルファを使用した RGB 圧縮。シャープなアルファ トランジションを備えた 4:1 圧縮を提供します。

最適な用途: シャープなアルファエッジを持つテクスチャ、硬い透明度を持つ UI 要素

BC3(DXT5)

補間された 4 ビット アルファを使用した RGB 圧縮。滑らかなアルファ グラデーションを備えた 4:1 圧縮を提供します。

最適な用途: キャラクター テクスチャ、パーティクル エフェクト、グラデーション、ソフト アルファ トランジション

BC4

単一チャネル (グレースケール) 圧縮。法線マップのブルー チャネルまたは高さマップに 2:1 圧縮を提供します。

最適な用途: 高さマップ、光沢マップ、法線マップの個別チャネル

BC5

2 チャネル圧縮 (通常は法線マップ XY)。通常のマップ データを 2:1 圧縮します。

最適な用途: ノーマル マップ、フロー マップ、2 チャネル テクスチャ データ

BC6H

ハイダイナミックレンジコンテンツのHDR RGB圧縮。 HDR テクスチャに 6:1 の圧縮を提供します。

最適な用途: HDR 照明環境、HDR スカイボックス、HDR 反射マップ

BC7

オプションのアルファを備えた高品質の RGB 圧縮。優れた品質の 3:1 圧縮を実現します。

最適な用途: 高品質のキャラクター テクスチャ、スペキュラー マップ、詳細な表面テクスチャ

DDS ファイル構造

DDS ファイルは、次の 3 つの主要コンポーネントからなる構造化形式に従います。

DDS ヘッダー (124 バイト)

ディメンション、フォーマット情報、ミップマップ数、圧縮フラグなどの重要なメタデータが含まれています

DDSFMT 構造体 (32 バイト)

ピクセル形式の詳細、圧縮タイプ、およびビット深度情報を指定します

テクスチャデータ

指定された形式と寸法に従って配置された圧縮または非圧縮のピクセル データ

DDS ワークフロー

一般的な DDS テクスチャ ワークフローには、いくつかの段階が含まれます。

1

1. テクスチャの作成

適切なサイズ (できれば 2 の累乗) の高品質テクスチャ ファイル (PNG、TGA、PSD など) を作成またはソースします。

2

2.BCn圧縮

コンテンツ タイプと要件に基づいて、適切な BCn 形式を使用してソース テクスチャを圧縮します

3

3. ミップマップの生成

3D アプリケーションで効率的な詳細レベルのレンダリングのためのミップマップ チェーンを生成します。

4

4. ゲームエンジンの統合

DDS ファイルをゲーム エンジンまたはグラフィック アプリケーションにインポートして、GPU をすぐに使用できるようにします。

DDS形式の利点

最適なパフォーマンス

ダイレクト GPU ハードウェア アクセラレーションにより、CPU 解凍のボトルネックが解消されます。

幅広い業界のサポート

DirectX、OpenGL、Vulkan、および主要なゲーム エンジンでサポートされる標準形式

包括的な機能セット

キューブマップ、ボリューム テクスチャ、HDR コンテンツなどの高度な機能のサポート

成熟したツール エコシステム

DirectX SDK、texconv、Compressonator、エンジン固有のツールを含む広範なツールのサポート

理想的な使用例

PCゲーム開発

Windows ベースのゲームやデスクトップ環境を対象としたクロスプラットフォーム タイトルに最適

ゲームエンジンのテクスチャ

Unity、Unreal Engine、CryEngine、その他の主要なゲーム エンジンに最適

3D グラフィックス アプリケーション

視覚化ソフトウェア、CAD アプリケーション、3D モデリング ツールに最適

VR/ARアプリケーション

Windows ベースのハードウェアを対象とした VR/AR エクスペリエンスに最適

DDS と他の形式

DDS と他の一般的なテクスチャ形式との比較:

DDS とモバイル フォーマット (ETC/ASTC)

DDS はデスクトップ環境で優れており、モバイル形式はモバイル GPU の制約と帯域幅に合わせて最適化されます。

DDS と非圧縮テクスチャの比較

DDS は、全帯域幅を必要とする非圧縮テクスチャと比較して、ハードウェア アクセラレーションを使用して 4:1 ~ 8:1 の圧縮を実現します。

DDS vs KTX

DDS は Windows/DirectX に重点を置いており、KTX はクロスプラットフォームの OpenGL/Vulkan 互換性を提供します。

DDS と Web フォーマットの比較

DDS はデスクトップの最適化を提供し、Basis Universal のような Web フォーマットは Web ファーストの圧縮と配信を提供します。

DDS ツールとリソース

Microsoft DirectX SDK

DDS の変換と操作のための texconv コマンドライン ツールを備えた公式 SDK

AMD コンプレッショネーター

リアルタイム プレビューと品質調整を備えた BCn 圧縮用の高度な GUI ツール

NVIDIA テクスチャ ツール

優れた BC7 圧縮を備えた高品質の圧縮ライブラリとツール

Unity テクスチャ インポーター

DDS インポートおよび圧縮設定用の組み込み Unity ツール

アンリアル エンジン テクスチャ エディター

DDS サポートと圧縮プリセットによる包括的なテクスチャ管理

DDS のベスト プラクティス

コンテンツ タイプに基づいて適切な BCn 形式を選択します - 拡散の場合は BC1、アルファの場合は BC3、法線の場合は BC5、高品質の場合は BC7

パフォーマンスを向上させるために、3D 環境で使用されるテクスチャのミップマップを常に生成します。

GPU メモリのアライメントを最適化するには、可能な場合は 2 のべき乗の次元を使用します。

さまざまな設定で圧縮品質をテストし、ファイル サイズとビジュアル品質のバランスを見つけます。

圧縮形式を選択するときは、ターゲット プラットフォームの機能を考慮してください

さまざまなテクスチャ タイプ (拡散マップ、鏡面マップ、法線マップ) に適切な圧縮設定を使用します。

結論

DDS は、特に Windows ベースのアプリケーションやゲーム開発において、グラフィックス業界の基礎となる形式であり続けています。ハードウェア アクセラレーションによる BCn 圧縮、包括的な機能セット、成熟したツール エコシステムにより、デスクトップおよびコンソール プラットフォームをターゲットとする開発者にとって優れた選択肢となります。

ASTC や Basis Universal などの新しい形式は特定の使用例に利点をもたらしますが、DDS は従来の PC ゲーム アプリケーションに対して最適なパフォーマンスと互換性を提供し続けます。その長所と限界を理解することは、開発者が特定のプロジェクトやターゲット プラットフォームのテクスチャ形式の選択について情報に基づいた決定を下すのに役立ちます。

詳細な資料とリソース

以下の信頼できるリソースで知識を広げてください。