D3DUSAGE
リソースの使用方法を識別する使用オプション。
次の表は、使用可能な使用オプションをまとめたものです。
定数 | 説明 |
---|---|
|
リソースによってミップマップが自動的に生成されます。 「 Mipmap の自動生成 (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 の呼び出しで使用される頂点バッファーとソース サーフェスに指定する必要があります。 この使用フラグを使用して作成された T exture は、テクスチャ フィルタリングには使用できません。 この使用フラグを使用して作成された頂点バッファーは、入力ストリーム ソースとして使用できません。 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 で指定して既存のリソースの機能をテストします。 次の表は、どのリソースの種類に適用できる使用量を示しています。
使用法 | 頂点バッファーの作成 | インデックス バッファーの作成 | テクスチャの作成 | キューブ テクスチャの作成 | ボリューム テクスチャの作成 | サーフェス作成 | デバイスの形式を確認する |
---|---|---|---|---|---|---|---|
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 を使用して、これらの使用に対するハードウェア サポートをチェックします。
リソースの作成方法の一覧を次に示します。
- CreateCubeTexture
- CreateDepthStencilSurface
- CreateIndexBuffer
- CreateOffscreenPlainSurface
- CreateRenderTarget
- CreateTexture
- CreateVertexBuffer
- CreateVolumeTexture
D3DXCreatexxx テクスチャリング関数では、リソースの作成にこれらの定数値の一部も使用されます。
プールの種類とその特定の使用法に関する制限の詳細については、「 D3DPOOL」を参照してください。
要件
要件 | 値 |
---|---|
ヘッダー |
|
関連項目