gather4_c (sm5 - asm)

Igual que gather4, salvo que esta instrucción realiza la comparación de elementos de textura, similar a sample_c.

gather4_c[_aoffimmi(u,v)] dest[.mask], srcAddress[.swizzle], srcResource[.swizzle], srcSampler[.r], srcReferenceValue
Elemento Descripción
dest
[in] Dirección del resultado de la operación
srcAddress
[in] Conjunto de coordenadas de textura.
srcResource
[in] Registro de texturas.
srcSampler
[in] Registro de las muestras.
srcReferenceValue
[in] Registro con un único componente seleccionado, que se usa en la comparación.

Comentarios

Para obtener una descripción de cómo se compara srcReferenceValue con cada elemento de textura capturado, consulte sample_c. A diferencia de sample_c, gather4_c devuelve cada uno de los resultados de la comparación, en lugar de filtrarlos. El orden de las operaciones es srcReferenceValue {ComparisonFunction} texel.R.

Para las esquinas de TextureCube, donde hay tres elementos de textura reales y un cuarto debe sintetizarse, la síntesis debe producirse después del paso de comparación. Esto significa que el resultado de comparación devuelto para el elemento de textura sintetizado puede ser 0; 0,33; 0,66; o 1. Puede que algunas implementaciones solo devuelvan 0 o 1 para el elemento de textura sintetizado. Aparte de esta lista de posibles resultados, no se especifica el método para sintetizar el elemento de textura.

En el caso de los formatos con componentes float32, si el valor que se captura se normaliza o se aplica +-INF, se usa en la operación de comparación sin modificar. NaN se usa en la operación de comparación como NaN, pero se puede cambiar la representación de bits exacta de NaN. Las desnormalizaciones se vacían hasta cero en la comparación. Para TextureCubes, debe producirse una síntesis del cuarto elemento de textura que falta en las esquinas, por lo que no se aplica la noción de devolver bits sin cambios para el elemento de textura sintetizado.

Los formatos admitidos para gather4_c son los mismos que los admitidos para sample_c. Estos son formatos de componente único, de ahí la .R en srcSampler, en lugar de referenciar de forma arbitraria. gather4_c en un recurso sin enlazar devuelve 0.

Use esta instrucción para el filtrado de mapa de sombras personalizado.

Esta instrucción se aplica a las siguientes fases del sombreador:

Vértice Casco Dominio Geometría Píxel Proceso
X X X X X X

Modelo de sombreador mínimo

Esta instrucción se admite en los modelos de sombreador siguientes:

Modelo de sombreador Compatible
Modelo de sombreador 5
Modelo de sombreador 4.1 no
Modelo de sombreador 4 no
Modelo de sombreador 3 (DirectX HLSL) no
Modelo de sombreador 2 (DirectX HLSL) no
Modelo de sombreador 1 (DirectX HLSL) no

Ensamblado del modelo de sombreador 5 (DirectX HLSL)