共用方式為


D3DPRESENTFLAG

D3DPRESENT_PARAMETERS所使用的常數。

#define 價值 描述
D3DPRESENTFLAG_DEVICECLIP 0x00000004 在建立 Direct3D 裝置之視訊配接器的監視畫面區域內,將視窗化 簡報 blit 進入視窗工作區。 D3DPRESENTFLAG_DEVICECLIP對 D3DSWAPEFFECT_FLIPEX 無效。
D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL 0x00000002 建立裝置或交換鏈結以啟用 z 緩衝區捨棄時,請設定此旗標。 如果設定此旗標,在呼叫具有不同深度表面的 SetDepthStencilSurfacePresent之後,深度樣板緩衝區的內容將會無效。 捨棄 z 緩衝區數據可能會提升效能,且驅動程式相依。 偵錯運行時間會在呼叫 PresentSetDepthStencilSurface 之後,將 z 緩衝區清除至某些常數值,以強制執行捨棄。
針對所有可鎖定的格式、D3DFMT_D16_LOCKABLE和D3DFMT_D32F_LOCKABLE,捨棄 z 緩衝區數據是非法的。 CreateDevice 指定可鎖定格式和 z 緩衝區捨棄的任何用法都會失敗。 如需格式的詳細資訊,請參閱 D3DFORMAT
D3DPRESENTFLAG_LOCKABLE_BACKBUFFER 0x00000001 如果應用程式需要能夠直接鎖定後台緩衝區,請設定此旗標。 請注意,除非應用程式在呼叫 createDeviceReset時指定D3DPRESENTFLAG_LOCKABLE_BACKBUFFER,否則後台緩衝區無法鎖定。 可鎖定的備份緩衝區會對某些圖形硬體組態產生效能成本。 在可鎖定的後端緩衝區上執行鎖定作業(或使用 UpdateSurface 寫入)會降低許多卡片的效能。 在此情況下,請考慮使用紋理三角形將數據移至後台緩衝區。
Direct3D 9 與 Direct3D 9Ex 之間的差異:
在 Direct3D9Ex 中,如果D3DSWAPEFFECT D3DSWAPEFFECT_FLIPEX,則無法設定此旗標,因為翻轉模型可讓桌面視窗管理員存取應用程式的後台緩衝區。 不應鎖定跨進程共用介面。

 

D3DPRESENTFLAG_NOAUTOROTATE 0x00000020 旋轉的監視器會在簡報期間自動使用旋轉的複本來處理,這不是非常有效率的。 此旗標表示應用程式將執行它自己的顯示旋轉。
Direct3D 9 與 Direct3D 9Ex 之間的差異:
此旗標僅適用於 Direct3D 9Ex。

 

應用程式可以使用旋轉檢視矩陣來達成自己的旋轉。 GetDisplayModeExGetAdapterDisplayModeEx 的方法應該用來尋找目前的旋轉設定。 CreateDeviceExResetEx 中的退格寬度和高度參數必須使用橫向方向,而全螢幕顯示模式結構應該與從 EnumAdapterModesEx 傳回的內容相同(亦即當旋轉 90 度和 270 度時交換 Width 和 Height)。

使用鎖定旋轉轉譯目標時,左上角的假設不再保留 true,轉譯目標SURFACE_DESC會維持橫向(如建立參數所隱含),以及 GDI 視窗、滑鼠座標,因此在使用 Direct3D 轉譯目標和場景時必須正確翻譯。

D3DPRESENTFLAG_UNPRUNEDMODE 0x00000040 使用此旗標來指定顯示配接器列舉的任何RAW顯示模式,即使 Direct3D 可能表示模式無效。 如果所需的模式真的無效,應用程式應該以強固的方式實作此動作。
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。 設定此旗標表示 BT.709,適用於高清電視 (HDTV)。
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 設定此旗標表示交換鏈包含受保護的內容,並自動導致運行時間限制對交換鏈的存取,讓只有桌面 Windows 管理員 (DWM) 可以使用交換鏈。
Direct3D 9 與 Direct3D 9Ex 之間的差異:
此旗標僅適用於 Direct3D 9Ex。

 

D3DPRESENTFLAG_RESTRICT_SHARED_RESOURCE_DRIVER 0x00000800 設定此旗標表示驅動程式應限制存取為 DWM 互動所建立的任何共享資源。 呼叫端必須使用驅動程式建立已驗證的通道。 然後,驅動程式應該允許存取嘗試開啟這些共用資源的處理程式。
Direct3D 9 與 Direct3D 9Ex 之間的差異:
此旗標僅適用於 Direct3D 9Ex。

 

 

這些常數會由 D3DPRESENT_PARAMETERS使用。

常數資訊

要求 價值
頁眉 d3d9types.h
最低作系統 Windows 98

 

Direct3D 常數