> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

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

> Direct3D 12 は、1 つ以上の Direct3D 12 対応 GPU を搭載した PC のグラフィックス機能とコンピューティング機能をアプリで活用できるようにする API とプラットフォームを提供します。

Direct3D 12 は、1 つ以上の Direct3D 12 対応 GPU を搭載した PC のグラフィックス機能とコンピューティング機能をアプリで活用できるようにする API とプラットフォームを提供します。

## このセクションの内容

| トピック                                                                                                                    | 説明                                                                                                                                                                                                                                                                                                              |
| ----------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Direct3D 12 とは](https://learn.microsoft.com/en-us/windows/win32/direct3d12/what-is-directx-12-)                        | DirectX 12 では、DirectX の中核である 3D グラフィックス API である Direct3D の次のバージョンが導入されています。このバージョンの Direct3D は、以前のどのバージョンよりも高速かつ効率的です。Direct3D 12 により、より豊かなシーン、より多くのオブジェクト、より複雑な効果、そして最新の GPU ハードウェアの完全な活用が可能になります。                                                                                                             |
| [Direct3D 12 の新機能](https://learn.microsoft.com/en-us/windows/win32/direct3d12/new-releases)                             | 最新の SDK リリースで利用できる最も重要な新しいドキュメントについて説明します。                                                                                                                                                                                                                                                                      |
| [Direct3D 12 の理解](https://learn.microsoft.com/en-us/windows/win32/direct3d12/directx-12-getting-started)                | Windows 10 および Windows 10 Mobile 向けの 3D ゲームやアプリを作成するには、Direct3D 12 テクノロジの基礎と、ゲームやアプリで使用するための準備方法を理解する必要があります。                                                                                                                                                                                                   |
| [Direct3D 12 での作業の送信](https://learn.microsoft.com/en-us/windows/win32/direct3d12/command-queues-and-command-lists)      | Direct3D アプリの CPU 効率を向上させるため、Direct3D 12 ではデバイスに関連付けられた即時コンテキストがサポートされなくなりました。代わりに、アプリは描画呼び出しとリソース管理呼び出しを含む *コマンド リスト* を記録して送信します。これらのコマンド リストは、複数のスレッドから 1 つ以上のコマンド キューに送信でき、コマンド キューがコマンドの実行を管理します。この根本的な変更により、アプリがレンダリング作業を事前に計算して後で再利用できるようになるため、シングルスレッドの効率が向上し、レンダリング作業を複数のスレッドに分散することでマルチコア システムを活用できます。 |
| [Direct3D 12 でのリソース バインド](https://learn.microsoft.com/en-us/windows/win32/direct3d12/resource-binding)                  | バインドとは、リソース オブジェクトをグラフィックス パイプラインのシェーダーにリンクするプロセスです。                                                                                                                                                                                                                                                            |
| [Direct3D 12 でのメモリ管理](https://learn.microsoft.com/en-us/windows/win32/direct3d12/memory-management)                     | D3D12 への移行では、適切な同期とメモリ常駐性の管理が必要になります。メモリ常駐性を管理するということは、さらに多くの同期を行う必要があるということです。このセクションでは、メモリ管理戦略と、ヒープおよびバッファー内でのサブ割り当てについて説明します。                                                                                                                                                                                |
| [マルチアダプター システム](https://learn.microsoft.com/en-us/windows/win32/direct3d12/multi-engine)                                | 複数のアダプターがインストールされたシステムに対する Direct3D 12 のサポートについて説明します。アプリケーションが複数の GPU アダプターを明示的に対象とするシナリオと、ドライバーがアプリケーションに代わって暗黙的に複数の GPU アダプターを使用するシナリオを取り上げます。                                                                                                                                                               |
| [マルチエンジンの同期](https://learn.microsoft.com/en-us/windows/win32/direct3d12/user-mode-heap-synchronization)                 | このトピックでは、最新のほとんどの GPU に搭載されている複数の独立したエンジンへのアクセスの同期について説明します。                                                                                                                                                                                                                                                    |
| [レンダリング](https://learn.microsoft.com/en-us/windows/win32/direct3d12/rendering)                                          | このセクションには、Direct3D 12 (および Direct3D 11.3) の新しいレンダリング機能に関する情報が含まれています。                                                                                                                                                                                                                                           |
| [Advanced Shader Delivery](/build/gdk-and-engines/guides/advanced-shader-delivery)                                      | Advanced Shader Delivery は、Direct3D 12 シェーダーをクラウドで事前コンパイルしてダウンロード時に配信することで、初回起動時の読み込み時間、ゲーム内のシェーダー コンパイルによるカクつき、電力消費を削減します。                                                                                                                                                                                     |
| [カウンター、クエリ、パフォーマンス測定](https://learn.microsoft.com/en-us/windows/win32/direct3d12/performance-measurement)               | 以降のセクションでは、クエリ、カウンター、タイミング、予測など、パフォーマンスのテストと改善に使用する機能について説明します。                                                                                                                                                                                                                                                 |
| [Direct3D 11、Direct3D 10、Direct2D との連携](https://learn.microsoft.com/en-us/windows/win32/direct3d12/direct3d-12-interop) | このセクションでは、以前のバージョンの Direct3D および Direct2D との相互運用手法、Direct3D 11on12 API、Direct3D 11 から Direct3D 12 への移植ガイドラインについて説明します。                                                                                                                                                                                          |
| [動作するサンプル](https://learn.microsoft.com/en-us/windows/win32/direct3d12/working-samples)                                  | Direct3D 12 の多くの機能の使用方法を示す、動作するサンプルをダウンロードできます。                                                                                                                                                                                                                                                                 |
| [D3D12 コード ウォークスルー](https://learn.microsoft.com/en-us/windows/win32/direct3d12/d3d12-code-walk-throughs)                | このセクションでは、サンプル シナリオのコードを紹介します。多くのウォークスルーでは、シナリオごとに基本コンポーネントのコードを繰り返さないように、基本サンプルに追加する必要があるコーディングの詳細を説明しています。                                                                                                                                                                                                    |
| [Direct3D 12 でのデバッグと診断](https://learn.microsoft.com/en-us/windows/win32/direct3d12/understanding-the-d3d12-debug-layer) | GPU ベースの検証 (GBV) を備えた Direct3D 12 デバッグ レイヤーを最大限に活用する方法と、デバイス削除拡張データ (DRED) の使用方法を説明するトピックが含まれています。                                                                                                                                                                                                              |

## 関連トピック

* [Direct3D 12 グラフィックス](https://learn.microsoft.com/en-us/windows/win32/direct3d12/direct3d-12-graphics)
* [Direct3D 12 リファレンス](https://learn.microsoft.com/en-us/windows/win32/direct3d12/direct3d-12-reference)
* [DirectX の高度な学習ビデオ チュートリアル](https://www.youtube.com/channel/UCiaX2B8XiXR70jaN7NK-FpA)


## Related topics

- [Advanced Shader Delivery](/ja-jp/build/gdk-and-engines/guides/advanced-shader-delivery.md)
- [非同期プログラミング モデル](/ja-jp/build/core-features/common/async/async-programming-model.md)
- [非同期プログラミングの概要](/ja-jp/build/core-features/common/async/async-toc.md)
- [エンティティ プログラミング モデル](/ja-jp/services/playfab/live-service-management/game-configuration/entities/index.md)
- [XBOX GDK の非同期プログラミング モデル](/ja-jp/build/core-features/common/async/index.md)
