D3DUSAGE

リソースの使用方法を識別する使用オプション。

次の表は、使用可能な使用オプションをまとめたものです。

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

解説

使用状況とリソースの組み合わせ

使用状況は、リソースの作成時に指定するか、 CheckDeviceType で指定して既存のリソースの機能をテストします。 次の表は、どのリソースの種類に適用できる使用量を示しています。

使用法 頂点バッファーの作成 インデックス バッファーの作成 テクスチャの作成 キューブ テクスチャの作成 ボリューム テクスチャの作成 サーフェス作成 デバイスの形式を確認する
D3DUSAGE_AUTOGENMIPMAP x x x
D3DUSAGE_DEPTHSTENCIL x x x x
D3DUSAGE_DMAP x x
D3DUSAGE_DONOTCLIP x x
D3DUSAGE_DYNAMIC x x x x x x
D3DUSAGE_NONSECURE x x x x x x x
D3DUSAGE_NPATCHES x x
D3DUSAGE_POINTS x x
D3DUSAGE_RTPATCHES x x
D3DUSAGE_RENDERTARGET x x x x
D3DUSAGE_SOFTWAREPROCESSING x x x x x x
D3DUSAGE_TEXTAPI x x
D3DUSAGE_WRITEONLY x x

 

CheckDeviceFormat を使用して、これらの使用に対するハードウェア サポートをチェックします。

リソースの作成方法の一覧を次に示します。

D3DXCreatexxx テクスチャリング関数では、リソースの作成にこれらの定数値の一部も使用されます。

プールの種類とその特定の使用法に関する制限の詳細については、「 D3DPOOL」を参照してください。

要件

要件
ヘッダー
D3d9types.h

関連項目

Direct3D 定数

D3DUSAGE_QUERY

D3DDECLUSAGE

D3dpool