Direct3D 12 プログラミング ガイド

Direct3D 12 は、1 つ以上の Direct3D 12 互換 GPU を搭載した PC のグラフィックス機能および計算機能をアプリで利用できるようにするための API およびプラットフォームを提供します。

このセクションの内容

トピック 説明
Direct3D 12 の概要 DirectX 12 では、DirectX の核となる 3D グラフィックス API である Direct3D の次期バージョンが導入されます。 Direct3D のこのバージョンは、以前のバージョンよりも高速かつ効率的です。 Direct3D 12 は、より豊かなシーン、より多くのオブジェクト、より複雑な効果を実現し、最新の GPU ハードウェアを十分に活用できます。
Direct3D 12 の新機能 最新の SDK リリースとともに入手できる最も重要な新しいドキュメントについて説明します。
Direct3D 12 とは Windows 10 および Windows 10 Mobile 用の 3D ゲームおよびアプリを記述するには、Direct3D 12 テクノロジの基礎について、およびこのテクノロジをゲームとアプリで使用できるよう準備する方法について理解する必要があります。
Direct3D 12での作業の提出 Direct3D アプリの CPU 効率を向上させるために、Direct3D 12 では、デバイスに関連した即時コンテキストはサポートされなくなりました。 代わりに、アプリでコマンド リストを記録して送信します。これには、描画およびリソース管理の呼び出しが含まれます。 これらのコマンド リストは、複数のスレッドから、コマンドの実行を管理する 1 つ以上のコマンド キューに送信できます。 この根本的な変更によって、後で再使用できるようにアプリでレンダリング処理を事前計算できるようになり、シングル スレッドの効率が向上しました。また、複数のスレッドにレンダリング処理を拡散することで、マルチコア システムを利用できるようになりました。
Direct3D 12 でのリソース バインディング バインディングは、リソース オブジェクトをグラフィックス パイプラインのシェーダーにリンクするプロセスです。
Direct3D 12 でのメモリ管理 D3D12 への移行には、メモリ常駐状態の適切な同期と管理を行うことも含まれます。 メモリ常駐状態の管理は、さらに多くの同期が必要になることを意味します。 このセクションでは、メモリ管理の戦略と、ヒープおよびバッファー内のサブ割り当てについて説明します。
マルチアダプター システム 複数のアダプターがインストールされているシステムのDirect3D 12のサポートについて説明します。アプリケーションが複数の GPU アダプターを明示的に対象とするシナリオ、およびドライバーがアプリケーションの代わりに複数の GPU アダプターを暗黙的に使用するシナリオについて説明します。
マルチエンジン同期 このトピックでは、最新の GPU で見られる複数の独立したエンジンへのアクセスの同期について説明します。
レンダリング このセクションには、Direct3D 12 (および Direct3D 11.3) の新しいレンダリング機能についての情報が含まれます。
カウンター、クエリ、パフォーマンスの測定 次のセクションでは、クエリ、カウンター、タイミング、プレディケーションなど、パフォーマンスのテストと改善で使用する機能について説明します。
Direct3D 11、Direct3D 10、Direct2D での作業 このセクションでは、Direct3D および Direct2D の以前のバージョンとの相互運用手法、Direct3D 11on12 API、および Direct3D 11 から Direct3D 12 への移植のガイドラインについて説明します。
作業サンプル Direct3D 12 のさまざまな機能の使用方法を示す実用的なサンプルをダウンロードすることができます。
D3D12 コードのチュートリアル このセクションでは、サンプル シナリオのコードを示します。 チュートリアルの多くで、シナリオごとに基本的なコンポーネント コードを繰り返さないようにするために、基本的なサンプルにどのようなコーディングを追加する必要があるかについて詳しく説明します。
Direct3D 12 でのデバッグと診断 Direct3D 12 デバッグ層と GBV (GPU ベースの検証) を最も適切に使用する方法について説明するトピック、および DRED (削除済みデバイスの拡張データ) の使用方法について説明するトピックが含まれます。