Share via


D3DPRESENTFLAG

D3DPRESENT_PARAMETERS で使用される定数。

#define Value 説明
D3DPRESENTFLAG_DEVICECLIP 0x00000004 Direct3D デバイスを作成したビデオ アダプターのモニター画面領域内のウィンドウ クライアント領域に、ウィンドウ化された Present blit をクリップします。 D3DPRESENTFLAG_DEVICECLIP は、D3DSWAPEFFECT_FLIPEX では無効です。
D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL 0x00000002 z バッファーの破棄を有効にするためにデバイスまたはスワップ チェーンを作成する場合は、このフラグを設定します。 このフラグが設定されている場合、深度ステンシル バッファーの内容は、Present または SetDepthStencilSurface を別の深度サーフェスで呼び出した後に無効になります。 z バッファー データを破棄すると、パフォーマンスを向上させることができ、ドライバーに依存します。 デバッグ ランタイムは、異なる深度サーフェスで Present または SetDepthStencilSurface を呼び出した後、z バッファーを定数値にクリアすることで、破棄を適用します。
z バッファー データの破棄は、ロック可能なすべての形式 (D3DFMT_D16_LOCKABLE と D3DFMT_D32F_LOCKABLE) で無効です。 ロック可能な形式と z バッファー破棄を指定した CreateDevice の使用は、失敗します。 形式の詳細については、「D3DFORMAT」を参照してください。
D3DPRESENTFLAG_LOCKABLE_BACKBUFFER 0x00000001 アプリケーションでバック バッファーを直接ロックできる必要がある場合は、このフラグを設定します。 CreateDevice または Reset を呼び出すときにアプリケーションで D3DPRESENTFLAG_LOCKABLE_BACKBUFFER を指定しない限り、バック バッファーはロック可能ではないことに注意してください。 一部のグラフィックス ハードウェア構成では、ロック可能なバック バッファーによってパフォーマンス コストが発生します。 ロック可能なバック バッファーに対してロック操作を実行する (または UpdateSurface を使用して書き込む) と、多くのカードでパフォーマンスが低下します。 この場合は、テクスチャを適用した三角形を使用してデータをバック バッファーに移動することを検討してください。
Direct3D 9 と Direct3D 9Ex の違い:
Direct3D9Ex では、D3DSWAPEFFECTがD3DSWAPEFFECT_FLIPEX である場合は、このフラグを設定できません。フリップ モデルによってデスクトップ ウィンドウ マネージャーがアプリケーションのバック バッファーにアクセスできるためです。 プロセス間の共有サーフェスをロックしないでください。

 

D3DPRESENTFLAG_NOAUTOROTATE 0x00000020 回転モニターは、プレゼンテーション中に回転コピーで自動的に処理されます。これはあまり効率的ではありません。 このフラグは、アプリケーションが独自の画面の回転を実行することを意味します。
Direct3D 9 と Direct3D 9Ex の違い:
このフラグは Direct3D 9Ex でのみ使用できます。

 

アプリケーションでは、回転ビュー マトリックスなどを使用して独自の回転を実現できます。 メソッド GetDisplayModeExGetAdapterDisplayModeEx を使用して、現在の回転の設定を確認する必要があります。 CreateDeviceEx および ResetEx のバック バッファーの Width および Height パラメーターには横向きの方向を使用する必要があります。一方、全画面表示モードの構造は EnumAdapterModesEx から返される構造と同じである必要があります (つまり、Width と Height は 90 度と 270 度回転したときにスワップされます)。

回転したレンダー ターゲットに対してロックを使用する場合、左上隅の想定が正しくなくなり、レンダー ターゲットの SURFACE_DESC は (作成パラメーターで示されているように) 横向きのままになり、GDI ウィンドウ、マウス座標などは、Direct3D レンダー ターゲットとシーンで使用する場合は適切に変換される必要があります。

D3DPRESENTFLAG_UNPRUNEDMODE 0x00000040 このフラグは、Direct3D でモードが無効であることが示されている可能性がある場合でも、ディスプレイ アダプターによって列挙された RAW 表示モードを指定するために使用します。 必要なモードが本当に無効な場合に備え、アプリケーションはこれを堅牢な方法で実装する必要があります。
Direct3D 9 と Direct3D 9Ex の違い:
このフラグは Direct3D 9Ex でのみ使用できます。

 

D3DPRESENTFLAG_VIDEO 0x00000010 これは、バック バッファーにビデオ データが含まれることをドライバーに示すヒントです。
D3DPRESENTFLAG_OVERLAY_LIMITEDRGB 0x00000080 オーバーレイが全範囲 RGB であるか、または範囲が制限された RGB であるかを指定します。 このフラグを設定すると、範囲が制限された RGB が指示されます。 範囲が制限された RGB の場合、RGB 範囲は 16:16:16 が黒、235:235:235 が白になるように圧縮されます。
Direct3D 9 と Direct3D 9Ex の違い:
このフラグは Direct3D 9Ex でのみ使用できます。

 

D3DPRESENTFLAG_OVERLAY_YCbCr_BT709 0x00000100 オーバーレイが BT.601 であるか、または BT.709 であるかを指定します。 このフラグを設定すると、高解像度テレビ (HDTV) 用の BT.709 が示されます。
Direct3D 9 と Direct3D 9Ex の違い:
このフラグは Direct3D 9Ex でのみ使用できます。

 

D3DPRESENTFLAG_OVERLAY_YCbCr_xvYCC 0x00000200 オーバーレイが従来の YCbCr であるか、または拡張 YCbCr (xvYCC) であるかを指定します。 このフラグを設定すると、拡張 YCbCr (xvYCC) が指示されます。
Direct3D 9 と Direct3D 9Ex の違い:
このフラグは Direct3D 9Ex でのみ使用できます。

 

D3DPRESENTFLAG_RESTRICTED_CONTENT 0x00000400 このフラグを設定すると、スワップチェーンに保護されたコンテンツが含まれていることが指示され、デスクトップ ウィンドウ マネージャー (DWM) のみがスワップチェーンを使用できるように、ランタイムでスワップチェーンへのアクセスが自動的に制限されます。
Direct3D 9 と Direct3D 9Ex の違い:
このフラグは Direct3D 9Ex でのみ使用できます。

 

D3DPRESENTFLAG_RESTRICT_SHARED_RESOURCE_DRIVER 0x00000800 このフラグを設定すると、DWM 操作用に作成された共有リソースへのアクセスをドライバーが制限する必要があることが指示されます。 呼び出し元は、ドライバーで認証されたチャネルを作成する必要があります。 その後、ドライバーは、それらの共有リソースを開こうとするプロセスへのアクセスを許可する必要があります。
Direct3D 9 と Direct3D 9Ex の違い:
このフラグは Direct3D 9Ex でのみ使用できます。

 

 

これらの定数は D3DPRESENT_PARAMETERS で使用されます。

定数の情報

要件 Value
ヘッダー d3d9types.h
最小オペレーティング システム Windows 98

 

Direct3D 定数