> ## 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 (consolas XBOX Series)

> El método ID3D12GraphicsCommandList5::RSSetShadingRateImage (d3d12.h) establece la imagen de velocidad de sombreado de espacio de pantalla para el sombreado de velocidad variable (VRS).

Establece la imagen de velocidad de sombreado de espacio de pantalla para el sombreado de velocidad variable (VRS). Para obtener más información, consulte [Sombreado de velocidad variable (VRS)](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/vrs).
Este método requiere compatibilidad con el nivel Tier2 de [Sombreado de velocidad variable (VRS)](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/vrs). Consulte [**D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS6**](/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options6_public) y [**D3D12\_VARIABLE\_SHADING\_RATE\_TIER**](/reference/graphics/d3d12/enums/d3d12_variable_shading_rate_tier_public).

## Sintaxis

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

### Parámetros

*shadingRateImage*\
Tipo: ID3D12Resource \*

Un puntero opcional a un [ID3D12Resource](/reference/graphics/d3d12_xs/interfaces/ID3D12Resource/id3d12resource_xs) que representa una imagen de velocidad de sombreado de espacio de pantalla.
Si es **NULL**, el efecto es el mismo que tener una imagen de velocidad de sombreado en la que todos los valores son una velocidad de sombreado de 1x1.

Esta textura debe tener aplicado el estado [**D3D12\_RESOURCE\_STATE\_SHADING\_RATE\_SOURCE**](/reference/graphics/d3d12_x/enums/d3d12_resource_states).

El tamaño de mosaico de la imagen de velocidad de sombreado se puede determinar mediante [**D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS6**](/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options6_public).
Por lo tanto, el tamaño de la imagen de velocidad de sombreado debe ser

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

La imagen de velocidad de sombreado debe ser una textura 2D con un único mip y el formato [**DXGI\_FORMAT\_R8\_UINT**](https://learn.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format). Cada texel debe ser un valor correspondiente a [**D3D12\_SHADING\_RATE**](/reference/graphics/d3d12/enums/d3d12_shading_rate_public). Debe tener el diseño [**D3D12\_TEXTURE\_LAYOUT\_UNKNOWN**](/reference/graphics/d3d12_x/enums/d3d12_texture_layout) y no puede ser un recurso de galería de símbolos de profundidad, de destino de representación, de acceso simultáneo ni entre adaptadores.

Dado que (0, 0) es la esquina superior izquierda en DirectX, una imagen de velocidad de sombreado demasiado pequeña o demasiado grande hace que la parte inferior o derecha no tenga área de imagen de velocidad de sombreado, o que la imagen se extienda en esas direcciones. Cuando hay exceso, se ignora (pero es válido), y cuando la imagen es demasiado pequeña, todas las áreas fuera de los límites en la parte inferior y derecha tendrán la velocidad de sombreado predeterminada de 1x1 de la imagen (sin embargo, esto no significa que esa sea la velocidad de sombreado final. Los combinadores se seguirán aplicando a este valor predeterminado de 1x1).

### Valor devuelto

Tipo: void

Ninguno.

## Comentarios

Para que la imagen de velocidad de sombreado de espacio de pantalla surta efecto, se debe haber llamado a [**ID3D12GraphicsCommandList5::RSSetShadingRate**](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist5/methods/id3d12graphicscommandlist5_rssetshadingrate_public) para establecer los combinadores para el sombreado. De lo contrario, con los combinadores predeterminados (ambos [**D3D12\_SHADING\_RATE\_COMBINER\_PASSTHROUGH**](/reference/graphics/d3d12/enums/d3d12_shading_rate_combiner_public)), la imagen de velocidad de sombreado de espacio de pantalla se ignora al determinar la granularidad del sombreado.

El segundo combinador que se pasa a  \[**ID3D12GraphicsCommandList5::RSSetShadingRate**] es el que se aplica a la imagen de velocidad de sombreado, lo que ocurre después de que se hayan combinado la velocidad de sombreado global y la velocidad de sombreado por primitiva.

El algoritmo para la velocidad de sombreado final se determina mediante

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

donde `ApplyCombiner` es

```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;
}
}
```

## Requisitos

**Encabezado:** d3d12\_xs.h\
**Biblioteca:** d3d12\_xs.lib\
**Plataformas compatibles**: consolas XBOX Series

## Consulte también

[Sombreado de velocidad variable (VRS)](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/vrs)


## Related topics

- [RSSetShadingRate (consolas XBOX Series)](/es/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist5/methods/id3d12graphicscommandlist5_rssetshadingrate_public.md)
- [D3D12_SHADING_RATE (consolas XBOX Series)](/es/reference/graphics/d3d12/enums/d3d12_shading_rate_public.md)
- [D3D12_AXIS_SHADING_RATE (consolas XBOX Series)](/es/reference/graphics/d3d12/enums/d3d12_axis_shading_rate_public.md)
- [D3D12_SHADING_RATE_COMBINER](/es/reference/graphics/d3d12/enums/d3d12_shading_rate_combiner_public.md)
- [D3D12_VARIABLE_SHADING_RATE_TIER](/es/reference/graphics/d3d12/enums/d3d12_variable_shading_rate_tier_public.md)
