> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# RSSetShadingRateImage (consoles XBOX Series)

> La méthode ID3D12GraphicsCommandList5::RSSetShadingRateImage (d3d12.h) définit l'image de taux d'ombrage en espace écran pour l'ombrage à taux variable (VRS).

Définit l'image de taux d'ombrage en espace écran pour l'ombrage à taux variable (VRS). Pour plus d'informations, consultez [Ombrage à taux variable (VRS)](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/vrs).
Cette méthode nécessite la prise en charge de l'[ombrage à taux variable (VRS)](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/vrs) Tier2. Consultez [**D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS6**](/fr-CA/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options6_public) et [**D3D12\_VARIABLE\_SHADING\_RATE\_TIER**](/fr-CA/reference/graphics/d3d12/enums/d3d12_variable_shading_rate_tier_public).

## Syntaxe

```cpp theme={null}
void RSSetShadingRateImage(
    ID3D12Resource  shadingRateImage
)
```

### Paramètres

*shadingRateImage*\
Type : ID3D12Resource \*

Pointeur facultatif vers une [ID3D12Resource](/fr-CA/reference/graphics/d3d12_xs/interfaces/ID3D12Resource/id3d12resource_xs) représentant une image de taux d'ombrage en espace écran.
Si la valeur est **NULL**, l'effet est le même que celui d'une image de taux d'ombrage dont toutes les valeurs correspondent à un taux d'ombrage de 1x1.

L'état [**D3D12\_RESOURCE\_STATE\_SHADING\_RATE\_SOURCE**](/fr-CA/reference/graphics/d3d12_x/enums/d3d12_resource_states) doit être appliqué à cette texture.

La taille des tuiles de l'image de taux d'ombrage peut être déterminée au moyen de [**D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS6**](/fr-CA/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options6_public).
La taille de l'image de taux d'ombrage doit donc être

```
ceil((float)rtWidth / VRSTileSize), ceil((float)rtHeight / VRSTileSize)
```

L'image de taux d'ombrage doit être une texture 2D avec un seul niveau mip, au format [**DXGI\_FORMAT\_R8\_UINT**](https://learn.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format). Chaque texel doit être une valeur correspondant à [**D3D12\_SHADING\_RATE**](/fr-CA/reference/graphics/d3d12/enums/d3d12_shading_rate_public). Elle doit avoir la disposition [**D3D12\_TEXTURE\_LAYOUT\_UNKNOWN**](/fr-CA/reference/graphics/d3d12_x/enums/d3d12_texture_layout) et ne peut pas être une ressource de profondeur-gabarit, de cible de rendu, à accès simultané ou interadaptateur.

Comme (0, 0) correspond au coin supérieur gauche dans DirectX, une image de taux d'ombrage trop petite ou trop grande fait en sorte que le bas ou la droite n'ait aucune zone d'image de taux d'ombrage, ou que l'image s'étende dans ces directions. L'excédent est ignoré (mais légal), et lorsque l'image est trop petite, toutes les zones hors limites en bas et à droite auront le taux d'ombrage par défaut de 1x1 de l'image (toutefois, cela ne signifie pas qu'il s'agit du taux d'ombrage final. Les combinateurs seront tout de même appliqués à cette valeur par défaut de 1x1).

### Valeur de retour

Type : void

Aucune.

## Remarques

Pour que l'image de taux d'ombrage en espace écran prenne effet, [**ID3D12GraphicsCommandList5::RSSetShadingRate**](/fr-CA/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist5/methods/id3d12graphicscommandlist5_rssetshadingrate_public) doit avoir été appelée pour définir les combinateurs d'ombrage. Sinon, avec les combinateurs par défaut (tous deux [**D3D12\_SHADING\_RATE\_COMBINER\_PASSTHROUGH**](/fr-CA/reference/graphics/d3d12/enums/d3d12_shading_rate_combiner_public)), l'image de taux d'ombrage en espace écran est ignorée pour déterminer la granularité de l'ombrage.

Le deuxième combinateur transmis à \[**ID3D12GraphicsCommandList5::RSSetShadingRate**] est celui qui s'applique à l'image de taux d'ombrage, ce qui se produit après la combinaison du taux d'ombrage global et du taux d'ombrage par primitive.

L'algorithme du taux d'ombrage final est déterminé par

```cpp theme={null}
postRasterizerRate = ApplyCombiner(Combiners[0], CommandListShadingRate, Primitive->PrimitiveSpecifiedShadingRate);
finalRate = ApplyCombiner(Combiners[1], postRasterizerRate, ScreenSpaceImage[xy]);
```

où `ApplyCombiner` est

```cpp theme={null}
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;
}
}
```

## Configuration requise

**En-tête :** d3d12\_xs.h\
**Bibliothèque :** d3d12\_xs.lib\
**Plateformes prises en charge :** consoles XBOX Series

## Voir aussi

[Ombrage à taux variable (VRS)](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/vrs)


## Related topics

- [RSSetShadingRateImage (XBOX Series consoles)](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist5/methods/id3d12graphicscommandlist5_rssetshadingrateimage_public.md)
- [RSSetShadingRateImage (XBOX Series 主机)](/zh-CN/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist5/methods/id3d12graphicscommandlist5_rssetshadingrateimage_public.md)
- [RSSetShadingRateImage (consolas XBOX Series)](/es/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist5/methods/id3d12graphicscommandlist5_rssetshadingrateimage_public.md)
- [RSSetShadingRateImage (XBOX Series 콘솔)](/ko/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist5/methods/id3d12graphicscommandlist5_rssetshadingrateimage_public.md)
- [RSSetShadingRateImage (XBOX Series 本体)](/ja-jp/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist5/methods/id3d12graphicscommandlist5_rssetshadingrateimage_public.md)
