共用方式為


D3DPRESENTFLAG

D3DPRESENT_PARAMETERS 所使用的 常數。

#define Description
D3DPRESENTFLAG_DEVICECLIP 0x00000004 在建立 Direct3D 裝置之視訊配接器的監視畫面區域內,將視窗顯示的 Present blit 裁剪到視窗工作區中。 D3DPRESENTFLAG_DEVICECLIP對 D3DSWAPEFFECT_FLIPEX 無效。
D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL 0x00000002 建立裝置或交換鏈結以啟用 z 緩衝區捨棄時,請設定此旗標。 如果設定此旗標,在呼叫 Present SetDepthStencilSurface 後,深度樣板緩衝區的內容將會無效,並使用不同的深度表面。 捨棄 z 緩衝區資料可能會提升效能,且驅動程式相依。 偵錯執行時間會在呼叫 Present SetDepthStencilSurface 後,將 z 緩衝區清除為某些常數值,以使用不同的深度表面來強制執行捨棄。
針對所有可鎖定的格式、D3DFMT_D16_LOCKABLE和D3DFMT_D32F_LOCKABLE,捨棄 z 緩衝區資料是非法的。 任何使用 CreateDevice 來指定可鎖定的格式,且 z 緩衝區捨棄將會失敗。 如需格式的詳細資訊,請參閱 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。

 

應用程式可以使用旋轉檢視矩陣來達成自己的旋轉。 GetDisplayModeEx GetAdapterDisplayModeEx 方法應該用來尋找目前的旋轉設定。 CreateDeviceEx ResetEx 中的 退格寬度和高度參數必須使用橫向方向,而全螢幕顯示模式結構應該與 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 常數