デバイス(D3D12Device)について
Deviceを使用することで様々なオブジェクトの生成や定義を行えます。
基本的にD3D12Deviceで作成するものは下記になります。また、実際に使用する場合はインターフェースを介すためID3D12Deviceとなります。
| 名称 | 説明 |
|---|---|
| コマンドアロケーター | GPUに送る命令を書き込むためのメモリ領域を管理するマネージャー |
| コマンドリスト | 描画や状態を変更するなどの命令を記録するバッファリスト |
| コマンドキュー | コマンドの待ち行列 |
| フェンス | CPUとGPUの同期に使用する |
| リソース | シェーダーリソースビュー、レンダーターゲットビュー等 |
| パイプラインステートオブジェクト(PSO) | シェーダ、入力レイアウト、各ステート等のGPU実行に必要な固定の設定 |
| ディスクリプタヒープ | リソースへのハンドル情報等のGPUメモリ領域。 CPU側、GPU側どちらからも参照可能。 |
| ルートシグネチャ | CPU側のリソースと、GPUシェーダー上のレジスタを結びつけるための、 「GPU実行時の引数配置」を定義するデータ構造 |
| サンプラー | 「テクスチャをどう読むか」を定義した 固定機能ユニット用の状態オブジェクト |
| リソースビュー | GPUから見たリソースの使い方の定義で、どうアクセスするかのルール |
上記のようなものを作成することが可能です。また、これからDirectX12を使用するにあたり非常に重要な項目になるため、ある程度把握しておく必要があります。