Share via


sample_d (sm4 – asm)

Exemplos de dados do Elemento/textura especificados usando o endereço especificado e o modo de filtragem identificado pelo sampler fornecido.

sample_d[_aoffimmi(u,v,w)] dest[.mask], srcAddress[.swizzle], srcResource[.swizzle], srcSampler, srcXDerivatives[.swizzle], srcYDerivatives[.swizzle]
Item Descrição
Dest
[in] O endereço dos resultados da operação.
srcAddress
[in] Um conjunto de coordenadas de textura. Para obter mais informações, consulte a instrução de exemplo .
srcResource
[in] Um registro de textura. Para obter mais informações, consulte a instrução de exemplo .
srcSampler
[in] Um registro de amostra. Para obter mais informações, consulte a instrução de exemplo .
srcXDerivatives
[in] Os derivados do endereço de origem na direção x. Para obter mais informações, consulte a seção Comentários.
srcYDerivatives
[in] Os derivados do endereço de origem na direção y. Para obter mais informações, consulte a seção Comentários.

Comentários

Essa instrução se comporta como a instrução de exemplo , exceto que os derivados do endereço de origem na direção x e na direção y são fornecidos por parâmetros extras, srcXDerivatives e srcYDerivatives, respectivamente. Esses derivados estão no espaço de coordenadas de textura normalizado.

Os componentes r, g e b de srcXDerivatives (POS-swizzle) fornecem du/dx, dv/dx e dw/dx. O componente 'a' (POS-swizzle) é ignorado.

Os componentes r, g e b de srcYDerivatives (POS-swizzle) fornecem du/dy, dv/dy e dw/dy. O componente 'a' (POS-swizzle) é ignorado.

Ao contrário da instrução de exemplo , que tem permissão para compartilhar um único cálculo LOD em um selo 2x2, sample_d deve calcular LOD completamente independentemente, por pixel, quando usado no Sombreador de Pixel.

Se as entradas derivadas para sample_d vieram de instruções de cálculo derivadas no Sombreador de Pixel e os valores incluem INF/NaN, o comportamento de sample_d pode não corresponder à instrução de exemplo , que computa implicitamente o derivado. Os valores INF/NaN podem afetar o cálculo LOD de forma diferente.

A busca de um slot de entrada que não tem nada associado a ele retorna 0 para todos os componentes.

Restrições

  • sample_d herda as mesmas restrições que a instrução de exemplo , além de uma restrição adicional abaixo para seus parâmetros adicionais.
  • srcXDerivatives e srcYDerivatives devem ser temporários (r#/x#), constantBuffer (cb#), registros de entrada (v#) ou valores imediatos.

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 sim
Modelo de Sombreador 3 (DirectX HLSL) não
Modelo de Sombreador 2 (DirectX HLSL) não
Modelo de Sombreador 1 (DirectX HLSL) não

Assembly do Modelo de Sombreador 4 (DirectX HLSL)