Skip to main content
設定要與 ID3D12CommandQueue::PresentX 一起進行組合的呈現平面。

語法

成員

pTokens 類型:D3D12XBOX_FRAME_PIPELINE_TOKEN 管線權杖,用來識別在產生構成平面之 ppResources 時所使用的畫面格。Token 會在畫面格起點產生,並透過以 D3D12XBOX_FRAME_EVENT_ORIGIN 事件呼叫 ID3D12Device::WaitFrameEventX 傳回。 ResourceCount 類型:UINT 要為平面呈現的資源數目。多個資源可能由專用的色彩和 Alpha 紋理及/或每個玩家的唯一檢視所組成。 ppResources 類型:ID3D12Resource* 指標,指向要為平面呈現到顯示器之資源陣列中的第一個元素。如果日後要新增對唯一檢視資源的支援,陣列應先依通道群組 (例如 RGBE 或 A8),再依玩家排列。呈現 RGBE + A8 配對時,RGBE 資源必須排在 A8 資源之前。 pSrcViewRects 類型:D3D12_RECT* 選擇性的指標,指向矩形陣列的第一個元素,這些矩形對應到呈現中所包含之每個玩家的檢視區域。陣列的大小由傳遞給 PresentX 的 ViewCount 參數定義。在呈現期間,由其來源矩形定義的每個檢視區域,會依照 pDestPlacementBase 所指定,縮放到顯示器上所定義的目的地區域。這些矩形允許重疊及/或相符;它們只是識別每個玩家檢視所需的範圍。可以為此成員傳遞 Null,以定義延伸至完全涵蓋平面的來源檢視矩形,如平面相關聯資源的維度所指定。 pDestPlacementBase 類型:D3D12XBOX_VIEW_RECT* 選擇性的指標,指向正好一個正規化檢視矩形,其定義呈現中所包含之第一個玩家的目的地區域。在呈現期間,平面資源中第一個玩家的來源檢視矩形會縮放以填滿透過 pDestPlacementBase 定義的目的地區域;所有其他玩家的來源檢視矩形,則會根據第一個玩家之來源與目的地區域之間的關係,縮放到間接計算出的目的地區域。更具體地說,pDestPlacementBase 是用來在內部衍生第一個玩家檢視的放置位移和縮放比例,而所有其他檢視都會採用相同的縮放比例和互補的位移。PresentX 無法用來將來源檢視個別縮放並組合到任意目的地區域;相反地,PresentX 會統一縮放來源檢視並將其位移到顯示器。 目的地放置檢視矩形以正規化的浮點座標表示。left 和 top 值 0.0 對應到目的地顯示器的最左上角。right 和 bottom 值 1.0 對應到目的地顯示器的最右下角。可以為此成員傳遞 Null,以定義第一個玩家檢視完全涵蓋目的地。 舉例說明在有多個 pSrcViewRects 時 pDestPlacementBase 的用法,請考慮一個涉及三位玩家的分割畫面遊戲。若要從 3840 x 2160 的交換資源,以涵蓋整個顯示器、由三個大小相同的欄所組成的單列形式呈現玩家檢視,呼叫端會提供下列內容: pSrcViewRects: {0, 0, 1280, 2160}, {1280, 0, 2560, 2160}, {2560, 0, 3840, 2160} pDestPlacementBase: {0.0f, 0.0f, 1.0f / 3.0f, 1.0f} ColorSpace 類型:DXGI_COLOR_SPACE_TYPE* 用來解譯為平面所提供之資源資料的色彩空間。色彩空間也可用來判斷所提供平面的哪些資源要選取用於顯示器呈現 (HDR),以及哪些要用於 GameDVR 編碼 (SDR)。如果未提供色彩空間 (也就是說,如果 D3D12XBOX_PRESENT_PLANE_PARAMETERS 本身為 Null),則色彩空間會定義為 DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709。有效的色彩空間為 DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 和 DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020,兩者都經過 Gamma 校正。XBOX Series X|S 允許經過 Gamma 校正的色彩空間 DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P709 和 DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_D65P3。此外,XBOX Series X|S 允許線性光色彩空間 DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709、DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_D65P3 和 DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P2020。線性光色彩空間只允許搭配交換資源格式 DXGI_FORMAT_R9G9B9E5_SHAREDEXP 使用。經過 Gamma 校正的 SDR 色彩空間允許搭配任何格式的交換資源使用,但 HDR 色彩空間只允許搭配格式為 DXGI_FORMAT_R10G10B10A2_UNORM 的交換資源使用。 使用 DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709 時,交換緩衝區中的內容預期使用 709 原色,且每個通道的值範圍預期介於 0.0 到 1.0 之間。在 HDR 模式中,0.0 到 1.0 的範圍會解譯為介於 0 到 10,000 尼特之間。換句話說,10,000 尼特的 D65 白色會表示為 (1.0, 1.0, 1.0)。同樣地,使用 DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_D65P3 時,0.0 到 1.0 的範圍會解譯為介於 0 到 10,000 尼特之間,而 D65 10,000 尼特白色為 (1.0, 1.0, 1.0)。交換緩衝區預期包含以 P3 原色和 D65 白點所建立的內容。這與白點不是 D65 的 DCI_P3 色彩空間不同。使用 DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P2020 時,交換緩衝區預期包含具有 D65 白點的 2020 原色,且範圍介於 0.0 到 1.0 之間,會解譯為介於 0 到 10,000 尼特之間。D65 10,000 尼特白色為 (1.0, 1.0, 1.0)。 DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P709 色彩空間預期交換緩衝區內容是以具有 D65 白點的 Rec. 709 原色所建立,但以 PQ (ST.2084) 曲線編碼。DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_D65P3 色彩空間預期交換緩衝區內容是以具有 D65 白點的 P3 原色所建立,但以 PQ (ST.2084) 曲線編碼,而非以 1.0/2.6 次方曲線或 sRGB 編碼。這與使用不同編碼和白點的 DCI_P3 不同。DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020 色彩空間預期交換緩衝區內容是以具有 D65 白點的 Rec. 2020 原色所建立,並以 PQ (ST.2084) 曲線編碼。 ScaleFilter 類型:D3D12XBOX_PRESENT_PLANE_SCALE_FILTER 從平面來源向上取樣到較大的顯示目的地時,偏好採用的縮放篩選器。所提供的篩選器只是一項要求,並不保證會在輸出時套用。在 XBOX Series X|S 上會忽略縮放篩選器。 ExtendedDescCount 類型:UINT pExtendedDescs 清單中所提供的擴充平面描述數目。 pExtendedDescs 類型:D3D12XBOX_PRESENT_PLANE_DESC* 選擇性的指標,指向擴充平面描述陣列中的第一個元素。使用此指標可進一步自訂呈現中所使用的平面。 Flags 類型:D3D12XBOX_PRESENT_PLANE_FLAGS 一組旗標,用來對平面的組合和顯示提供額外控制。

備註

遊戲可以設定兩個顯示平面,用來自動將 UI/HUD 組合到其場景上。在此情況下,組合是由顯示硬體完成,不會產生額外的 GPU、記憶體或延遲成本。如需如何進行此設定的詳細資訊,請參閱硬體覆疊和交換資源

需求

標頭: d3d12_x.h 支援的平台: XBOX One 系列

另請參閱

PresentX
Last modified on October 6, 2026