はじめに
新型のコンピューターや既存のコンピューターに組み込まれているさまざまなビデオ カードに対処するために、Direct3D 11 では機能レベルという概念を導入しました。それぞれのビデオ カードは、コンピューターに搭載されている GPU に応じて、特定のレベルの Direct3D 機能を実装します。以前のバージョンの Direct3D では、ビデオ カードが Direct3D のどのバージョンに対応しているかを確認し、そのバージョンに応じてアプリケーションをプログラムする方法がとられていました。
Direct3D 11 では、機能レベルという新しいパラダイムが導入されました。各機能レベルは明確に定義された GPU 機能のセットです。たとえば、機能レベル 9_1 では、Direct3D バージョン 9.1 が実装している機能が実装され、機能レベル 11_0 では、Direct3D 11 が実装している機能が実装されます。
機能レベルの導入により、デバイスを作成するときに、必要な機能レベルに対応するデバイスの作成を試すことができるようになりました。デバイスを正常に作成できれば、その機能レベルが存在しています。作成できない場合、その機能レベルは目的のハードウェアでサポートされていません。それより下の機能レベルでデバイスの作成を再試行するか、アプリケーションの終了を選択します。「D3D11CreateDevice」を参照してください。
機能レベルを使用して、Direct3D 9、Direct3D 10、または Direct3D 11 のいずれか向けのアプリケーションを開発し、そのアプリケーションを 9、10、または 11 のハードウェアで実行できます (当然、いくつかの例外はあります。たとえば、11 の新機能は 9 などの既存のバージョンのカードでも動作します)。以下に、各機能レベルのその他の基本的なプロパティをいくつか示します。
- デバイスの作成が可能な GPU は、そのデバイスの機能レベル以上のレベルの機能に対応しています。
- 個々の機能レベルは、そのレベルより前の機能レベルまたは下位の機能レベルの機能を備えています。
- 機能レベルはパフォーマンスを示すものではなく、機能のみを示します。パフォーマンスはハードウェアの実装に依存します。
- Direct3D11 デバイスを作成する際は、必ずいずれかの機能レベルを選択する必要があります。
設計で採用する機能レベルの決定に役立つように、各機能レベルの機能の比較を次に示します。
各機能レベルの概要
次の表に、使用可能な機能を機能レベル別に示します。
11_0 | 10_1 | 10_0 | 9_3 | 9_2 | 9_1 | |
---|---|---|---|---|---|---|
シェーダー モデル | 5.0 | 4.x | 4.0 | 2.0 (4_0_level_9_3) | 2.0 (4_0_level_9_1) | 2.0 (4_0_level_9_1) |
ジオメトリ シェーダー | あり | あり | あり | なし | なし | なし |
ストリーム出力 | あり | あり | あり | なし | なし | なし |
コンピュート シェーダー | あり | オプション | オプション | なし | なし | なし |
ハル シェーダーとドメイン シェーダー | あり | なし | なし | なし | なし | なし |
テクスチャー リソース配列 | あり | あり | あり | なし | なし | なし |
キューブマップ リソース配列 | あり | あり | なし | なし | なし | なし |
BC4/BC5 圧縮 | あり | あり | あり | なし | なし | なし |
BC6H/BC7 圧縮 | あり | なし | なし | なし | なし | なし |
アルファトゥカバレッジ | あり | あり | あり | なし | なし | なし |
拡張フォーマット* (BGRA など) | あり | オプション | オプション | あり | あり | あり |
10 ビット XR ハイカラー フォーマット | あり | オプション | オプション | 該当せず | 該当せず | 該当せず |
最大テクスチャー サイズ | 16384 | 8192 | 8192 | 4096 | 2048 | 2048 |
最大キューブマップ サイズ | 16384 | 8192 | 8192 | 4096 | 512 | 512 |
最大ボリューム範囲 | 2048 | 2048 | 2048 | 256 | 256 | 256 |
テクスチャーの最大繰り返し回数 | 16384 | 8192 | 8192 | 8192 | 2048 | 128 |
最大異方性 | 16 | 16 | 16 | 16 | 16 | 2 |
最大プリミティブ カウント | 2^32 | 2^32 | 2^32 | 1048575 | 1048575 | 65535 |
同時レンダリング ターゲット数 | 8 | 8 | 8 | 4 | 1 | 1 |
オクルージョン クエリ | あり | あり | あり | あり | あり | なし |
個別のアルファ ブレンディング | あり | あり | あり | あり | あり | なし |
Mirror Once | あり | あり | あり | あり | あり | なし |
頂点要素のオーバーラップ | あり | あり | あり | あり | あり | なし |
独立した書き込みマスク | あり | あり | あり | あり | なし | なし |
Instancing | あり | あり | あり | あり | なし | なし |
関連項目
ダウンレベルのハードウェア上の Direct3D 11, Direct3D 10 フォーマットに対するハードウェア サポート, Direct3D 10.1 フォーマットに対するハードウェア サポート, Direct3D 11 フォーマットに対するハードウェア サポート