ps_1_1, ps_1_2, ps_1_3, ps_1_4

O assembler de sombreador de pixel é composto por um conjunto de instruções que operam em dados de pixel contidos em registros. As operações são expressas como instruções compostas por um operador e um ou mais operandos. As instruções usam registros para transferir dados dentro e fora da ALU do sombreador de pixels. Os registros também podem ser usados por algumas instruções para manter resultados temporários.

Observação

O suporte a HLSL para sombreador de pixel 1.x foi preterido.

 

Instruções

Há duas categorias main de instruções de sombreador de pixel: instruções aritméticas e instruções de endereçamento de textura. Instruções aritméticas modificam dados de cor. As operações de endereçamento de textura processam dados de coordenadas de textura e, na maioria dos casos, amostram uma textura. As instruções do sombreador de pixel são executadas por pixel; ou seja, eles não têm conhecimento de outros pixels no pipeline.

Instruções de endereçamento de textura consomem um slot, mas instruções aritméticas podem ser emparelhadas para habilitar os componentes de cor (RGB) e uma instrução de componente alfa em um único slot.

ps_1_1, ps_1_2, ps_1_3, ps_1_4 Instruções contém uma lista das instruções disponíveis.

Quando o multisampling está habilitado, os sombreadores de pixel só são executados uma vez por pixel, não uma vez para cada subpixel. O multisampling só aumenta a resolução de bordas de polígono, bem como testes de profundidade e estêncil. Por exemplo, se 3x3 multisampling estiver habilitado e um triângulo sendo rasterizado for encontrado para cobrir cinco dos nove subpixels de um pixel específico, o sombreador de pixel será executado uma vez e o mesmo resultado de cor será aplicado a todos os cinco subpixels.

Registros

ps_1_1__ps_1_2__ps_1_3__ps_1_4 Registers lista os diferentes registros usados pela ALU do sombreador.

Modificadores

Modificadores para ps_1_X podem ser usados para alterar a funcionalidade de uma instrução ou os dados lidos ou gravados em um registro.

O Direct3D 9 requer cálculos intermediários para manter pelo menos a precisão de 8 bits para todos os formatos de superfície. A precisão mais alta (12 bits) para matemática em estágio e a saturação para 8 bits entre os estágios de textura são recomendadas. Não há suporte para modos de arredondamento modificáveis ou exceções. A multiplicação deve ter suporte com uma precisão arredondada para mais próxima para manter a perda de precisão no mínimo.

Contagem de sampler

O número de amostradores de textura disponíveis é:

  • Para ps_1_0 - ps_1_3, o máximo é 4.
  • Para ps_1_4, o máximo é 6.

Sombreadores de pixel