Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os modificadores de instrução afetam o resultado da instrução antes de serem gravados no registro de destino.
Esta seção contém informações de referência para os modificadores de instrução implementados pelo sombreador de pixel versão 2_0 e superior.
| Nome | Sintaxe | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
|---|---|---|---|---|---|---|
| Centroid | _Centróide | x | x | x | x | x |
| Partial_Precision | _Pp | x | x | x | x | x |
| saturar | _sáb | x | x | x | x | x |
Centróide
O modificador de centroide é um modificador opcional que fixa a interpolação de atributo dentro do intervalo do primitivo quando um centro de pixels de várias imagens não é coberto pelo primitivo. Isso pode ser visto em de Amostragem centroide.
Você pode aplicar o modificador de centroide a uma instrução de assembly, conforme mostrado aqui:
dcl_texcoord0_centroid v0
Você também pode aplicar o modificador de centroide a uma semântica, conforme mostrado aqui:
float4 TexturePointCentroidPS( float4 TexCoord : TEXCOORD0_centroid ) : COLOR0
{
return tex2D( PointSampler, TexCoord );
}
Além disso, qualquer registro de cor de entrada (v#) declarado com uma semântica de cor terá o centroide aplicado automaticamente. Os gradientes calculados a partir de atributos que são amostrados de centroide não têm garantia de serem precisos.
Precisão parcial
O modificador de instrução de precisão parcial (_pp) indica áreas em que a precisão parcial é aceitável, desde que a implementação subjacente dê suporte a ela. As implementações são sempre livres para ignorar o modificador e executar as operações afetadas com precisão total.
O modificador de _pp pode ocorrer em dois contextos:
- Em uma declaração de coordenada de textura para habilitar a passagem de coordenadas de textura para o sombreador de pixel em forma de precisão parcial. Isso permite, por exemplo, o uso de coordenadas de textura para retransmitir dados de cor para o sombreador de pixel, que pode ser mais rápido com precisão parcial do que com precisão total em algumas implementações. Na ausência desse modificador, as coordenadas de textura devem ser passadas com precisão total.
- Em qualquer instrução, incluindo instruções de carga de textura. Isso indica que a implementação tem permissão para executar a instrução com precisão parcial e armazenar um resultado de precisão parcial. Na ausência de um modificador explícito, a instrução deve ser executada com precisão total (independentemente da precisão de entrada).
Exemplos:
dcl_texcoord0_pp t1
cmp_pp r0, r1, r2, r3
Saturar
O modificador de instrução de saturação (_sat) satura (ou fixa) o resultado da instrução para o intervalo [0, 1] antes de gravar no registro de destino.
O modificador de instrução _sat pode ser usado com qualquer instrução, exceto frc - ps, sincos - pse qualquer instrução tex*.
Para ps_2_0, ps_2_x e ps_2_sw, o modificador de instrução _sat não pode ser usado com instruções de gravação em nenhum registro de saída (de Registro de Cor de Saída ou de Registro de Profundidade de Saída). Essa restrição não se aplica a ps_3_0 e acima.
Exemplo:
dp3_sat r0, v0, c1
Tópicos relacionados