METODE ID3D12GraphicsCommandList5::RSSetShadingRate (d3d12.h)

Mengatur laju bayangan dasar, dan combiner, untuk bayangan laju variabel (VRS). Untuk informasi selengkapnya, lihat Bayangan laju variabel (VRS).

Sintaks

void RSSetShadingRate(
  D3D12_SHADING_RATE                baseShadingRate,
  const D3D12_SHADING_RATE_COMBINER *combiners
);

Parameter

baseShadingRate

Jenis: D3D12_SHADING_RATE

Konstanta dari enumerasi D3D12_SHADING_RATE yang menjelaskan tingkat bayangan dasar yang akan ditetapkan.

combiners

Jenis: const D3D12_SHADING_RATE_COMBINER*

Penunjuk opsional ke array konstanta D3D12_SHADING_RATE_COMBINER yang berisi penggabung laju bayangan untuk diatur. Jumlah elemen D3D12_SHADING_RATE_COMBINER dalam array harus sama dengan D3D12_RS_SET_SHADING_RATE_COMBINER_COUNT konstanta, yang sama dengan 2.

Karena VRS berbasis gambar per primitif dan ruang layar tidak didukung pada bayangan Laju Variabel (VRS) Tier1, agar nilai-nilai ini bermakna, adaptor memerlukan dukungan Tier2 VRS. Lihat D3D12_FEATURE_DATA_D3D12_OPTIONS6 dan D3D12_VARIABLE_SHADING_RATE_TIER.

Penunjuk NULL setara dengan penggabung bayangan default, yang keduanya D3D12_SHADING_RATE_COMBINER_PASSTHROUGH.

Algoritma untuk laju bayangan akhir ditentukan oleh yang berikut ini.

postRasterizerRate = ApplyCombiner(Combiners[0], CommandListShadingRate, Primitive->PrimitiveSpecifiedShadingRate);
finalRate = ApplyCombiner(Combiners[1], postRasterizerRate, ScreenSpaceImage[xy]);

di mana ApplyCombiner adalah

UINT ApplyCombiner(D3D12_SHADING_RATE_COMBINER combiner, UINT a, UINT b)
{
    MaxShadingRate = options6.AdditionalShadingRatesSupported ? 4 : 2;
    switch (combiner)
    {
        case D3D12_SHADING_RATE_COMBINER_PASSTHROUGH: // default
            return a;
        case D3D12_SHADING_RATE_COMBINER_OVERRIDE:
            return b;
        case D3D12_SHADING_RATE_COMBINER_MAX:
            return max(a, b);
        case D3D12_SHADING_RATE_COMBINER_MIN:
            return min(a, b);
        case D3D12_SHADING_RATE_COMBINER_SUM:
            return min(MaxShadingRate, a + b);
        case default:
            return a;
    }
}

Mengembalikan nilai

Tidak ada

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10 Build 20348
Server minimum yang didukung Windows 10 Build 20348
Header d3d12.h

Lihat juga

Bayangan laju variabel (VRS)