gather4 (sm4.1 – asm)
Coleta os quatro texels que seriam usados em uma operação de filtragem bi linear e os empacota em um único registro.
gather4[_aoffimmi(u,v)] dest[.mask], srcAddress[.swizzle], srcResource[.swizzle], srcSampler.r |
---|
Item | Descrição |
---|---|
Dest |
[in] O endereço do resultado da operação. |
srcAddress |
[in] Contém as coordenadas de textura. |
srcResource |
[in] Um registro de recurso. O swizzle permite que os valores retornados sejam girados arbitrariamente antes de serem gravados no dest. |
srcSampler |
[in] Um registro de amostra. Esse parâmetro deve ter um swizzle .r (vermelho), que indica que o valor do canal R é copiado para dest. |
Comentários
Essa operação funciona apenas com texturas de canal único 2D ou CubeMap. Para texturas 2D, somente os modos de endereçamento do sampler são usados e o nível superior de qualquer pirâmide mip é usado.
Esta instrução se comporta como a instrução de exemplo , mas um exemplo filtrado não é gerado. Os quatro exemplos que contribuiriam para a filtragem são colocados em xyzw em ordem anti-horário, começando com o exemplo no canto inferior esquerdo do local consultado. Isso é o mesmo que amostragem de ponto com deltas de coordenada de textura (u,v) nos seguintes locais: (-,+),(+,+),(+,-),(-,-), em que a magnitude dos deltas é sempre metade de um texel.
Para texturas CubeMap quando um volume bi linear abrange um texels de borda da face vizinha são usados. Os cantos usam as mesmas regras que a instrução de exemplo ; que é o canto desconhecido é considerado a média dos três cantos faciais impingintes.
As restrições de formato de textura que se aplicam às instruções de exemplo também se aplicam à instrução gather4 .
Para implementações de hardware, as otimizações na filtragem bilinear tradicional que detectam amostras diretamente em texels e ignoram a leitura de texels que teriam peso 0 não podem ser aproveitadas com gather4. gather4 sempre retorna todos os texels solicitados.
Esta instrução se aplica aos seguintes estágios de sombreador:
Sombreador de vértice | Sombreador de geometria | Sombreador de pixel |
---|---|---|
x | x | x |
Modelo de sombreador mínimo
Essa função tem suporte nos seguintes modelos de sombreador.
Modelo de Sombreador | Com suporte |
---|---|
Modelo de sombreador 5 | sim |
Modelo de sombreador 4.1 | sim |
Modelo de sombreador 4 | não |
Modelo de Sombreador 3 (DirectX HLSL) | não |
Modelo de Sombreador 2 (DirectX HLSL) | não |
Modelo de Sombreador 1 (DirectX HLSL) | não |