Share via


リソースのプロパティ (Direct3D 9)

すべてのリソースには、次の共通のプロパティがあります。

  • Usage:リソースの使用法。たとえば、テクスチャーやレンダー ターゲットとして、などです。
  • 形式データのフォーマット。たとえば、2D サーフェスのピクセル フォーマットなどです。
  • Pool:リソースが割り当てられるメモリーのタイプ。
  • Type:リソースのタイプ。たとえば、頂点バッファーやレンダー ターゲットなどです。

リソースの使用には制限があります。特定の処理でリソースを使用するアプリケーションでは、リソース作成時にその処理を指定しておく必要があります。リソースに定義された使用法の定数の一覧については、「D3DUSAGE」を参照してください。

D3DUSAGE_RTPATCHES、D3DUSAGE_NPATCHES および D3DUSAGE_POINTS 定数は、これらのバッファー内のデータがそれぞれ、トライアングル パッチまたはグリッド パッチ、N パッチ、ポイント スプライトに使用される可能性が高いことをドライバーに指示します。これらのフラグは、ハードウェアがホスト処理なしでこれらの処理を実行できない場合のために指定されます。これにより、ドライバーはこれらのサーフェスをシステム メモリーに割り当て、CPU がアクセスできるようにすることもできます。ドライバーがこれらの処理をすべてハードウェアで実行できる場合は、これらのサーフェスをホストにコピーせずにビデオまたは AGP メモリーに割り当て、パフォーマンスを 2 倍以上にすることができます。これらのフラグで指定される情報は、必須とは限らないことに注意してください。ドライバーはデータにそのような処理が実行されていることを検出できるため、後続のフレームに備えてバッファーをシステム メモリーに戻します。

使用法のフラグおよびそれらのフラグと特定のリソースとの関連の詳細については、個々のリソース作成メソッドのリファレンス ページを参照してください。

リソースのサーフェス フォーマットについては、「D3DFORMAT」列挙型を参照してください。

リソースのバッファーを保持するメモリーのクラスをプールと言います。プール値は D3DPOOL 列挙型で定義されます。1 つのリソースに含まれる異なるオブジェクト用にプールを混在させることはできません (ミップレベルはミップマップ内に存在)。また、一度リソースにプールを選択したら、プールを変更することはできません。

リソース タイプは、実行時にアプリケーションで IDirect3DDevice9::CreateCubeTexture などのリソース作成メソッドが呼び出されたときに暗黙的に設定されます。リソース タイプは D3DRESOURCETYPE 列挙型で定義されます。アプリケーションでは、実行時にこれらのタイプを照会できますが、ほとんどの場合、実行時にタイプ チェックが必要となることはないと予想されます。