Skip to main content
設定可變速率著色 (VRS) 的螢幕空間著色速率影像。如需詳細資訊,請參閱可變速率著色 (VRS)。 此方法需要第 2 層可變速率著色 (VRS) 支援。請參閱 D3D12_FEATURE_DATA_D3D12_OPTIONS6 與 D3D12_VARIABLE_SHADING_RATE_TIER。

語法

參數

shadingRateImage
類型:ID3D12Resource *
選擇性的指標,指向代表螢幕空間著色速率影像的 ID3D12Resource。 如果為 NULL,效果等同於所有值皆為 1x1 著色速率的著色速率影像。 此紋理必須已套用 D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE 狀態。 著色速率影像的圖格大小可以透過 D3D12_FEATURE_DATA_D3D12_OPTIONS6 判斷。 因此,著色速率影像的大小應為
著色速率影像必須是具有單一 mip 的 2D 紋理,且格式為 DXGI_FORMAT_R8_UINT。每個紋素都必須是對應 D3D12_SHADING_RATE 的值。其配置必須為 D3D12_TEXTURE_LAYOUT_UNKNOWN,且不能是深度樣板、轉譯目標、同時存取或跨介面卡資源。 由於在 DirectX 中 (0, 0) 位於左上角,著色速率影像過小或過大會導致底部或右側沒有著色速率影像區域,或影像延伸超出這些方向。有多餘部分時會予以忽略 (但為合法);影像過小時,底部與右側所有超出界限的區域都會採用影像的預設著色速率 1x1 (不過,這並不表示那就是最終著色速率。合併器仍會套用至此 1x1 預設值)。

傳回值

類型:void 無。

備註

若要讓螢幕空間著色速率影像生效,必須已呼叫 ID3D12GraphicsCommandList5::RSSetShadingRate 來設定著色的合併器。否則,在使用預設合併器 (兩者皆為 D3D12_SHADING_RATE_COMBINER_PASSTHROUGH) 的情況下,決定著色細微性時會忽略螢幕空間著色速率影像。 傳遞給 [ID3D12GraphicsCommandList5::RSSetShadingRate] 的第二個合併器會套用至著色速率影像,這會在全域著色速率與個別基本型別著色速率合併之後發生。 最終著色速率的演算法由下列方式決定
其中 ApplyCombiner 為

需求

標頭: d3d12_xs.h
程式庫: d3d12_xs.lib
支援的平台: XBOX Series 主機

另請參閱

可變速率著色 (VRS)
Last modified on October 6, 2026