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] Un registro de sampler. Este parámetro debe tener un swizzle .r (rojo), que indica que el valor del canal de R se copia en dest. |
Comentarios
Esta operación solo funciona con texturas 2D o CubeMap de un solo canal. En el caso de 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. Las cuatro muestras que contribuirían al filtrado se colocan en xyzw en orden en sentido 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 las diferencias de coordenadas de textura (u,v) en las siguientes ubicaciones: (-,+),(+,+),(+,-),(-,-), donde la magnitud de los deltas siempre es la mitad de un elemento de textura.
En el caso de las texturas CubeMap cuando una superficie bi-lineal abarca 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 inconfundada se considera el promedio de las tres esquinas de la cara que se impeden.
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 elementos de textura y omiten la lectura de elementos de textura que tendrían un peso 0 no se pueden aprovechar con gather4. 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 de sombreador mínimo
Esta función se admite en los siguientes modelos de sombreador.
Modelo de sombreador | Compatible |
---|---|
Modelo de sombreador 5 | sí |
Modelo de sombreador 4.1 | sí |
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 |