Microsoft DirectX 8.0 (C++) |
すべてのリソースは、以下のプロパティを共有する。
リソースの使用は強制される。特定の処理にリソースを使用するアプリケーションは、リソース作成時にその処理を指定する必要がある。リソースには、以下の使用方法が定義されている。
D3DUSAGE_RTPATCHES フラグ、D3DUSAGE_NPATCHES フラグ、および D3DUSAGE_POINTS フラグは、これらのバッファ内のデータがそれぞれ、三角形またはグリッドのパッチ、N パッチ、ポイント スプライト用に使用される可能性があることをドライバに示す。ホスト処理がないとハードウェアがこれらの処理を実行できない場合に、これらのフラグが提供される。したがって、CPU からアクセスできるように、ドライバはこれらのサーフェスをシステム メモリに割り当てることを希望することになる。ドライバがこれらの処理を完全にハードウェア内で行うことができれば、これらのサーフェスをビデオまたは /AGP メモリに割り当てられるので、ホストにコピーしなくて済み、パフォーマンスも 2 倍以上向上する。これらのフラグによって提供される情報が絶対に必要というわけではない。ドライバは、データに対してそのような処理が行われていることを検出でき、以降のフレームのためにバッファをシステム メモリに戻す。
利用フラグとそのフラグか関連付けられているリソースの詳細については、各リソース作成メソッドのリファレンス ページを参照すること。
リソースのサーフェス フォーマットの詳細については、「D3DFORMAT 列挙型」を参照すること。
リソースのバッファを保持するメモリ クラスをプールと呼ぶ。プール値は、D3DPOOL 列挙型で定義される。単一リソース (つまり、ミップマップのミップ レベル) 内に異なるオブジェクトが格納されている場合、プールをミックスすることはできない。また、リソースのプールを選択した後で変更することはできない。
リソース タイプは、アプリケーションが実行時に IDirect3DDevice8::CreateCubeTexture などのリソース作成メソッドを呼び出したとき、非明示的に設定される。リソース タイプは、D3DRESOURCETYPE 列挙型で定義される。アプリケーションでは、実行時にこれらのタイプを照会できるが、ほとんどのシナリオでは実行時のタイプ チェックは必要としない。