FORMATOP 結構 (d3dumddi.h)
FORMATOP 結構描述可使用這類介面執行的介面格式和作業。
語法
typedef struct _FORMATOP {
[in] D3DDDIFORMAT Format;
[out] UINT Operations;
[out] UINT FlipMsTypes;
[out] UINT BltMsTypes;
[out] UINT PrivateFormatBitCount;
} FORMATOP;
成員
[in] Format
D3DDDIFORMAT型別值,表示表面的像素格式。
[out] Operations
下列旗標的有效位 OR,表示可以使用 Format 成員中指定的圖元格式在介面上執行的作業。 下列某些旗標表示應該使用其他旗標。 如果驅動程式設定表示其他旗標的旗標,則驅動程式不需要設定隱含旗標,而 Direct3D 執行時間會決定使用隱含旗標。
FORMATOP_TEXTURE (0x000000001L)
指定圖元格式的介面可以做為 MIP 對應的紋理。
FORMATOP_VOLUMETEXTURE (0x000000002L)
此格式的介面可以當做磁碟區紋理使用。 請注意,此旗標與FORMATOP_TEXTURE無關。 因此,圖元格式可用於磁碟區紋理,不適用於傳統 MIP 對應紋理。
FORMATOP_CUBETEXTURE (0x000000004L)
此格式的介面可以當做立方環境地圖紋理使用。 請注意,此旗標與FORMATOP_TEXTURE無關。 因此,圖元格式可用於立方環境地圖紋理,而不是用於傳統MIP對應紋理。
FORMATOP_OFFSCREEN_RENDERTARGET (0x000000008L)
不論顯示模式的圖元格式為何,此格式的介面都可以當做螢幕外轉譯目標使用,如果目前顯示模式的圖元格式報告為FORMATOP_DISPLAYMODE和FORMATOP_3DACCELERATION。 如果目前顯示模式的圖元格式未設定這些旗標,即使轉譯目標不在畫面外,此模式中也沒有 3D 加速可用。 FORMATOP_OFFSCREEN_RENDERTARGET旗標可以與FORMATOP_TEXTURE結合,指出裝置可以轉譯為指定圖元格式的紋理。
FORMATOP_OFFSCREEN_RENDERTARGET旗標也表示FORMATOP_SAME_FORMAT_RENDERTARGET和FORMATOP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET旗標。
FORMATOP_SAME_FORMAT_RENDERTARGET (0x000000010L)
此格式的介面可以當做轉譯目標使用,但只有當表面的圖元格式符合目前顯示模式的圖元格式時。 此旗標不只套用至螢幕外轉譯目標,而且可在顯示模式的圖元格式上指定,以指出轉譯目標功能。 此旗標可以與FORMATOP_TEXTURE結合,表示裝置可以轉譯為指定圖元格式的紋理。
FORMATOP_SAME_FORMAT_RENDERTARGET旗標也表示FORMATOP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET旗標。
FORMATOP_ZSTENCIL (0x000000040L)
此格式的介面可以當做 Z/樣板緩衝區使用,但只有當 Z/樣板表面的深度符合深度緩衝區所附加之轉譯目標的色彩深度時。 當您決定 Z/樣板與色彩緩衝區深度之間的相符專案時,請使用圖元步幅。
FORMATOP_ZSTENCIL_WITH_ARBITRARY_COLOR_DEPTH (0x000000080L)
不論介面所連接的轉譯目標色彩深度為何,此格式的介面都可以當做 Z/樣板緩衝區使用。
FORMATOP_ZSTENCIL_WITH_ARBITRARY_COLOR_DEPTH旗標也表示FORMATOP_ZSTENCIL旗標。
FORMATOP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET (0x00000100L)
如果目前的顯示模式是相同的深度,而且會忽略 Alpha 色板,則此格式的介面可以做為轉譯目標。 例如,如果裝置可以在顯示模式X8R8G8B8時轉譯為A8R8G8B8,則A8R8G8B8的格式作業清單專案應該已設定此旗標。
FORMATOP_DISPLAYMODE (0x00000400L)
此像素格式為驅動程式模型支援的顯示模式(包括 Flip)。 此旗標不應以 Alpha 格式設定。
FORMATOP_3DACCELERATION (0x000000800L)
圖形加速器可以在具有這個圖元格式的顯示模式中支援某種層級的 Microsoft Direct3D 加速,而驅動程式可以在此模式中建立內容(適用於某些轉譯目標格式)。 只有在報告顯示模式格式時,才能使用此旗標(藉由指定FORMATOP_DISPLAYMODE)。 這個旗標不應該用來報告螢幕外轉譯目標格式。
FORMATOP_PIXELSIZE (0x00001000L)
驅動程式會填入 PrivateFormatBitCount 成員中格式的每圖元位數。
如果驅動程式要求 Managed 表面和紋理使用私人格式(可由驅動程式處理,但不是 Direct3D 執行時間原生處理的格式),驅動程式必須指定 FORMATOP_PIXELSIZE,且 PrivateFormatBitCount 中的圖元大小。
FORMATOP_CONVERT_TO_ARGB (0x00002000L)
此格式的來源介面可以轉換成任何目標介面,其具有指定FORMATOP_MEMBEROFGROUP_ARGB旗標的 RGB 像素格式。
FORMATOP_OFFSCREENPLAIN (0x00004000L)
此驅動程式可以伸展至此格式的和色彩填滿表面。
FORMATOP_SRGBREAD (0x00008000L)
此格式的介面可以讀取為 sRGB格式紋理(也就是取樣器會將查閱的數據線性化)。
FORMATOP_BUMPMAP (0x00010000L)
此格式的介面可以當做顛簸環境地圖紋理使用。 請注意,此旗標與FORMATOP_TEXTURE無關。 因此,圖元格式可用於顛簸環境地圖紋理,而不是用於傳統 MIP 對應紋理。
FORMATOP_DMAP (0x00020000L)
位移圖取樣器可以取樣此格式的表面。
FORMATOP_NOFILTER (0x00040000L)
此格式的介面無法與紋理篩選搭配使用。
FORMATOP_MEMBEROFGROUP_ARGB (0x00080000L)
此格式的目標介面可以從任何來源介面轉換成具有指定FORMATOP_CONVERT_TO_ARGB旗標的像素格式。 驅動程式只能針對每個通道至少有5位色彩資訊的ARGB表面指定FORMATOP_MEMBEROFGROUP_ARGB。 也就是說,D3DDDIFMT_A1R5G5B5格式有效,但D3DDDIFMT_A4R4G4B4格式無效。 如果驅動程式以無效的格式指定FORMATOP_MEMBEROFGROUP_ARGB,Direct3D 運行時間會防止 Direct3D HAL 載入。 請注意,雖然此旗標指出 ARGB 格式,但運行時間也允許驅動程式使用 XRGB 格式來指定表面(例如,D3DDDIFMT_X1R5G5B5)。
FORMATOP_SRGBWRITE (0x001000000L)
此格式的介面可以寫入為 sRGB 格式目標(也就是圖元管道會將輸出的數據劃定為這個格式)。
FORMATOP_NOALPHABLEND (0x002000000L)
此格式的介面無法與 Alpha 混合搭配使用。
FORMATOP_AUTOGENMIPMAP (0x004000000L)
可以自動產生具有此格式之 MIP 對應紋理的子層級。 若要讓驅動程式接收對其 GenerateMipSubLevels 函式的呼叫,必須公開此旗標。
FORMATOP_VERTEXTEXTURE (0x008000000L)
頂點紋理取樣器可以使用此格式的表面。 也就是說,只有這種格式的表面可以做為頂點紋理使用。
FORMATOP_NOTEXCOORDWRAPNORMIP (0x010000000L)
此格式的介面只能有條件地用於 2D 紋理的紋理對應,且維度不是 2。 如需詳細資訊,請參閱 D3DPRIMCAPS 參考頁面中D3DPTEXTURECAPS_POW2和D3DPTEXTURECAPS_NONPOW2CONDITIONAL的定義。
FORMATOP_PLANAR (0x020000000L)
此格式的介面是平面與包裝。 如果 Direct3D 執行時間在表面遺失時呼叫使用者模式顯示驅動程式的 Lock 函式,而表面遺失時,必須配置緩衝區,而且無法進行間距乘數時間高度的一般計算。 除了 directX 影片加速Microsoft使用的格式(例如 YUV 格式)以外,大部分格式都會封裝在一起。
FORMATOP_OVERLAY (0x040000000L)
此格式的介面會用於重疊作業。
FORMATOP_CAPTURE (0x080000000L)
如果已設定 D3DDDI_RESOURCEFLAGS2 結構的 VideoEncoder 成員,這個格式的介面就可以當做擷取緩衝區使用。
從 Windows 8 開始支援。
FORMATOP_VIDEO_ENCODER (0x100000000L)
如果 VideoEncoderD3DDDI_RESOURCEFLAGS2 結構的成員已設定,則此格式的表面可以當做視訊編碼器輸入資源使用。
從 Windows 8 開始支援。
FORMATOP_MULTIPLANE_OVERLAY (0x200000000L)
此格式的介面支援多平面重疊。
從 Windows 8 開始支援。
[out] FlipMsTypes
用於全螢幕多重取樣的 32 位掩碼。
[out] BltMsTypes
視窗化多重取樣的 32 位掩碼。
[out] PrivateFormatBitCount
驅動程式私用之像素格式的每個圖元位數(也就是,不是 D3DDDIFORMAT 列舉類型所定義的其中一個標準圖元格式)。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 可在 Windows Vista 和更新版本的 Windows作系統中使用。 |
標頭 | d3dumddi.h (包括 D3dumddi.h) |