Compartir a través de


gather4 (sm4.1 - asm)

Recopila los cuatro elementos de textura que se usarían en una operación de filtrado bi-lineal y los empaqueta en un único registro.

gather4[_aoffimmi(u,v)] dest[.mask], srcAddress[.swizzle], srcResource[.swizzle], srcSampler.r
Elemento Descripción
dest
[in] Dirección del resultado de la operación.
srcAddress
[in] Contiene las coordenadas de textura.
srcResource
[in] Un registro de recursos.
El swizzle permite que los valores devueltos se desenreden arbitrariamente antes de que se escriban en dest.
srcSampler
[in] Registro del sampler.
Este parámetro debe tener un swizzle .r (rojo), que indica que el valor del canal de R se copia en dest.

Observaciones

Esta operación solo funciona con texturas 2D o CubeMap de canal único. Para las texturas 2D solo se usan los modos de direccionamiento del muestreador y se usa el nivel superior de cualquier pirámide mip.

Esta instrucción se comporta como la instrucción de ejemplo , pero no se genera un ejemplo filtrado. Los cuatro ejemplos que contribuirían al filtrado se colocan en xyzw en orden contrario a las agujas del reloj empezando por la muestra a la parte inferior izquierda de la ubicación consultada. Esto es lo mismo que el muestreo de puntos con (u,v) diferencias de coordenadas de textura en las siguientes ubicaciones: (-,+),(+,+),(+,-),(-,-), donde la magnitud de los deltas es siempre la mitad de un elemento de textura.

En el caso de las texturas CubeMap cuando una superficie bi-lineal abarca los elementos de textura de borde de la cara vecina se usan. Las esquinas usan las mismas reglas que la instrucción de ejemplo ; que es la esquina desconocida se considera el promedio de las tres esquinas de la cara de imping.

Las restricciones de formato de textura que se aplican a las instrucciones de ejemplo también se aplican a la instrucción gather4 .

En el caso de las implementaciones de hardware, las optimizaciones en el filtrado bilineal tradicional que detectan muestras directamente en los elementos de textura y omiten la lectura de los elementos de textura que tendrían un peso 0 no se pueden aprovechar con recopilación4. gather4 siempre devuelve todos los elementos de textura solicitados.

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

Sombreador de vértices Sombreador de geometría Sombreador de píxeles
x x x

Modelo mínimo de sombreador

Esta función se admite en los siguientes modelos de sombreador.

Modelo de sombreador Compatible
sombreador modelo 5
Modelo de sombreador 4.1
modelo de sombreador de 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 4 (DirectX HLSL)