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