リソースの使用方法を識別する使用オプション。
次の表は、使用可能な使用オプションをまとめたものです。
| 定数 | 説明 |
|---|---|
|
リソースによってミップマップが自動的に生成されます。 「ミップマップの自動生成 (Direct3D 9)を参照してください。 ボリューム テクスチャと深度ステンシル サーフェス/テクスチャでは、ミップマップの自動生成はサポートされていません。 この使用は、システム メモリ (D3DPOOL_SYSTEMMEM) 内のリソースに対しては無効です。 |
|
リソースは深度ステンシル バッファーになります。
D3DUSAGE_DEPTHSTENCIL は、 D3DPOOL_DEFAULTでのみ使用できます。 |
|
リソースはディスプレイスメント マップになります。 |
|
頂点バッファーのコンテンツにクリッピングが必要ないことを示す値に設定します。 このフラグが設定されているバッファーを使用してレンダリングする場合、 D3DRS_CLIPPING のレンダリング状態を false に設定する必要があります。 |
|
頂点バッファーで動的メモリの使用が必要であることを示す値に設定します。 これは、バッファーを配置する場所を決定できるため、ドライバーに役立ちます。 一般に、静的頂点バッファーはビデオ メモリに配置され、動的頂点バッファーは AGP メモリに配置されます。 個別の静的な使用は行われません。
D3DUSAGE_DYNAMICを指定しない場合、頂点バッファーは静的になります。
D3DUSAGE_DYNAMIC は、 D3DLOCK_DISCARDとD3DLOCK_NOOVERWRITE ロック フラグによって厳密 に 適用されます。 その結果、 D3DLOCK_DISCARD と D3DLOCK_NOOVERWRITE は、 D3DUSAGE_DYNAMICで作成された頂点バッファーでのみ有効になります。 静的頂点バッファーでは有効なフラグではありません。 詳細については、「 リソースの管理 (Direct3D 9)」を参照してください。 動的頂点バッファーの使用の詳細については、「 パフォーマンスの最適化 (Direct3D 9)」を参照してください。 D3DUSAGE_DYNAMIC と D3DPOOL_MANAGED は互換性がありません。一緒に使用しないでください。 D3DPOOLを参照してください。 テクスチャでは 、D3DUSAGE_DYNAMICを指定できます。 ただし、マネージド テクスチャでは D3DUSAGE_DYNAMICを使用できません。 動的テクスチャの詳細については、「ダイナミック テクスチャの 使用」を参照してください。 |
|
セキュリティで保護されたアプリケーションによって作成された共有サーフェイスを、共有ハンドルを持つセキュリティで保護されていないアプリケーションによって開くことを許可します。 Direct3D 9 と Direct3D 9Ex の違い: このフラグは Direct3D 9Ex でのみ使用できます。 |
|
頂点バッファーが N パッチの描画に使用されることを示す値に設定します。 |
|
頂点またはインデックス バッファーが描画ポイント スプライトに使用されることを示すために設定します。 ポイント スプライトをエミュレートするためにソフトウェア頂点処理が必要な場合、バッファーはシステム メモリに読み込まれます。 |
|
リソースはレンダー ターゲットになります。
D3DUSAGE_RENDERTARGET は、 D3DPOOL_DEFAULTでのみ使用できます。 |
|
頂点バッファーが高次プリミティブの描画に使用されることを示す値に設定します。 |
|
このフラグを使用すると、頂点処理がソフトウェアで実行されます。 このフラグを使用しない場合、頂点処理はハードウェアで行われます。 D3DUSAGE_SOFTWAREPROCESSING フラグは、そのデバイスに対して混合モードまたはソフトウェア頂点処理 (D3DCREATE_MIXED_VERTEXPROCESSING / D3DCREATE_SOFTWARE_VERTEXPROCESSING) が有効になっている場合に設定できます。 D3DUSAGE_SOFTWAREPROCESSING 、混合モードでソフトウェア頂点処理で使用するバッファーを設定する必要がありますが、混合モード (D3DCREATE_HARDWARE_VERTEXPROCESSING) でハードウェア インデックス処理を使用する場合は、パフォーマンスを最大限に高めるために設定しないでください。 ただし、ハードウェア頂点処理とソフトウェア頂点処理の両方で 1 つのバッファーを使用する場合は、 D3DUSAGE_SOFTWAREPROCESSING の設定が唯一のオプションです。 D3DUSAGE_SOFTWAREPROCESSING は、混在デバイスとソフトウェア デバイスに対して許可されます。 D3DUSAGE_SOFTWAREPROCESSING は、ソフトウェアの頂点処理中に特定のテクスチャ形式を頂点テクスチャとして使用できるかどうかを調べるのに CheckDeviceFormat と共に使用されます。 可能な場合は、テクスチャを D3DPOOL_SCRATCHで作成する必要があります。 |
|
この使用フラグは、 ComposeRects の呼び出しで使用される頂点バッファーとソース サーフェスに対して指定する必要があります。 この使用フラグを使用して作成されたテクスチャは、テクスチャ フィルタリングには使用できません。 この使用フラグを使用して作成された頂点バッファーは、入力ストリーム ソースとして使用できません。 Direct3D 9 と Direct3D 9Ex の違い: このフラグは Direct3D 9Ex でのみ使用できます。 |
|
アプリケーションが頂点バッファーにのみ書き込むようシステムに通知します。 このフラグを使用すると、ドライバーは、効率的な書き込み操作とレンダリングのための最適なメモリの場所を選択できます。 この機能を使用して作成された頂点バッファーからの読み取りは失敗します。
D3DUSAGE_WRITEONLYを指定しないD3DPOOL_DEFAULTで作成されたバッファーでは、パフォーマンスが著しく低下する可能性があります。
D3DUSAGE_WRITEONLY は、 D3DPOOL_DEFAULT バッファーのパフォーマンスにのみ影響します。 |
|
このフラグを設定すると、リソースに保護されたコンテンツが含まれている可能性があることを示します。 Direct3D 9 と Direct3D 9Ex の違い: このフラグは Direct3D 9Ex でのみ使用できます。 |
|
このフラグを設定すると、共有リソースへのアクセスを制限する必要があることを示します。 Direct3D 9 と Direct3D 9Ex の違い: このフラグは Direct3D 9Ex でのみ使用できます。 |
|
このフラグを設定すると、ドライバーが共有リソースへのアクセスを制限する必要があることを示します。 呼び出し元は、ドライバーで認証されたチャネルを作成する必要があります。 その後、ドライバーは、その共有リソースを開こうとするプロセスへのアクセスを許可する必要があります。 Direct3D 9 と Direct3D 9Ex の違い: このフラグは Direct3D 9Ex でのみ使用できます。 |
注釈
使用状況とリソースの組み合わせ
使用状況は、リソースの作成時に指定するか、 CheckDeviceType で指定して既存のリソースの機能をテストします。 次の表は、どのリソースの種類に適用できるかを示しています。
| 使用方法 | 頂点バッファーの作成 | インデックス バッファーの作成 | テクスチャの作成 | キューブ テクスチャの作成 | ボリューム テクスチャの作成 | Surface の作成 | デバイスの形式を確認する |
|---|---|---|---|---|---|---|---|
| D3DUSAGE_AUTOGENMIPMAP | そうそう | はい | |||||
| D3DUSAGE_DEPTHSTENCIL | そうそう | そうそう | |||||
| D3DUSAGE_DMAP | はい | はい | |||||
| D3DUSAGE_DONOTCLIP はい | |||||||
| D3DUSAGE_DYNAMIC はい はい はい はい はい はい | はい | ||||||
| D3DUSAGE_NONSECURE はい はい はい はい はい はい はい はい はい | |||||||
| D3DUSAGE_NPATCHES はいはい | |||||||
| D3DUSAGE_POINTS はい | |||||||
| D3DUSAGE_RTPATCHES はい | |||||||
| D3DUSAGE_RENDERTARGET | そうそう | そうそう | |||||
| D3DUSAGE_SOFTWAREPROCESSING はい はい はい はい はい はい | はい | ||||||
| D3DUSAGE_TEXTAPI はい | はい | ||||||
| D3DUSAGE_WRITEONLY はい |
CheckDeviceFormat を使用して、これらの使用法のハードウェア サポートを確認します。
リソースの作成方法の一覧を次に示します。
- CreateCubeTexture
- CreateDepthStencilSurfaceの
- CreateIndexBuffer
- CreateOffscreenPlainSurfaceの
- CreateRenderTarget
- CreateTexture
- CreateVertexBuffer
- CreateVolumeTexture
D3DXCreatexxx テクスチャリング関数では、リソースの作成にこれらの定数値の一部も使用されます。
プールの種類とその特定の使用方法に関する制限の詳細については、 D3DPOOLを参照してください。
要求事項
| 要件 | 価値 |
|---|---|
| ヘッダ |
|
こちらも参照ください
-
Direct3D 定数 を する