リソースのプロパティ (Direct3D 9)
すべてのリソースは、次のプロパティを共有します。
- 使い。 たとえば、テクスチャやレンダー ターゲットとしてリソースを使用する方法。
- 形式。 データの形式 (2D サーフェスのピクセル形式など)。
- プール。 リソースが割り当てられているメモリの種類。
- 種類。 頂点バッファーやレンダー ターゲットなどのリソースの種類。
リソースの使用が適用されます。 特定の操作でリソースを使用するアプリケーションでは、リソース作成時にその操作を指定する必要があります。 リソースに定義されている使用定数の一覧については、D3DUSAGEを参照してください。
D3DUSAGE_RTPATCHES、D3DUSAGE_NPATCHES、およびD3DUSAGE_POINTS定数は、これらのバッファー内のデータが、それぞれ三角形またはグリッドパッチ、N パッチ、またはポイント スプライトに使用される可能性があることをドライバーに示します。 これらのフラグは、ハードウェアがホスト処理なしでこれらの操作を実行できない場合に備えて提供されます。 そのため、ドライバーは、CPU がそれらにアクセスできるように、システム メモリにこれらのサーフェスを割り当てる必要があります。 ドライバーがハードウェアでこれらの操作を完全に実行できる場合は、ホストのコピーを回避し、少なくとも 2 倍のパフォーマンスを向上させるために、ビデオまたは AGP メモリにこれらのサーフェスを割り当てることができます。 これらのフラグによって提供される情報は絶対に必要ではないことに注意してください。 ドライバーは、このような操作がデータに対して実行されていることを検出し、後続のフレームのシステム メモリにバッファーを戻します。
使用フラグと特定のリソースとの関係の詳細については、個々のリソース作成方法のリファレンス ページを参照してください。
リソースのサーフェス形式については、D3DFORMAT 列挙型を参照してください。
リソースのバッファーを保持するメモリのクラスは、プールと呼ばれます。 プールの値は、D3DPOOL 列挙型によって定義されます。 1 つのリソースに含まれる異なるオブジェクト (つまり、ミップマップ内のミップ レベル) に対してプールを混在させることはできません。また、リソースに対してプールを選択した場合、プールを変更することはできません。
リソースの種類は、IDirect3DDevice9::CreateCubeTextureなどのリソース作成メソッドをアプリケーションが呼び出すときに、実行時に暗黙的に設定されます。 リソースの種類は、D3DRESOURCETYPE 列挙型によって定義されます。 アプリケーションでは、実行時にこれらの型に対してクエリを実行できます。ただし、ほとんどのシナリオでは実行時の型チェックは必要ありません。
関連トピック
-
Direct3D リソース の