Partilhar via


Registros de saída

  • Registro de Cor de Vértice
  • Registro de Neblina
  • Position_Register
  • Point_Size_Register
  • Texture_Coordinate_Register

Os nomes de registro são precedidos por uma letra minúscula o, indicando que os registros de saída são somente gravação.

Registro de Cor de Vértice – oD0, oD1

oD0 é o registro de cor difusa. oD1 é o registro de cor especular. O valor oD0 é interpolado e gravado no registro de cor de entrada 0 (v0) do sombreador de pixel. O valor oD1 é interpolado e gravado no registro de cor de entrada 1 (v1) do sombreador de pixel. Para obter mais informações sobre registros de cor do sombreador de pixel, consulte Registros.

Versões do sombreador de vértice 1_1 2_0 2_sw 2_x 3_0 3_sw
Registro de Cor de Vértice x x x x

 

Registro de Neblina - oFog

O valor de neblina de saída é registrado. O valor é o fator de neblina a ser interpolado e roteado para a tabela de neblina. Somente o componente x escalar da neblina é usado. Os valores são fixados entre zero e um antes de passar para o rasterizador.

Versões do sombreador de vértice 1_1 2_0 2_sw 2_x 3_0 3_sw
Registro de Neblina x x x x

 

Registro de Posição – oPos

A posição de saída é registrada. O valor é a posição no espaço de recorte homogêneo. Esse valor deve ser gravado pelo sombreador de vértice.

Versões do sombreador de vértice 1_1 2_0 2_sw 2_x 3_0 3_sw
Registro de Posição x x x x

 

Registro de Tamanho do Ponto – oPts

O tamanho do ponto de saída é registrado. Somente o componente x escalar do tamanho do ponto é usado.

Versões do sombreador de vértice 1_1 2_0 2_sw 2_x 3_0 3_sw
Registro de Tamanho do Ponto x x x x

 

Registro de coordenadas de textura – oT0 a oT7

As coordenadas de textura de saída são registradas. Especificamente, eles são uma matriz de registros de dados de saída que são iterados e usados como coordenadas de textura pelos estágios de amostragem de textura roteando dados para o sombreador de pixel.

Versões do sombreador de vértice 1_1 2_0 2_sw 2_x 3_0 3_sw
Registro de coordenadas de textura x x x x

 

Ao gravar em um registro de coordenada de textura, é recomendável passar apenas tantos valores de ponto flutuante quanto a dimensão do mapa de textura correspondente. Controlar os valores passados com um modificador. Por exemplo, use .xy para um mapa de textura 2D.

Quando a projeção de textura está habilitada para um estágio de textura, todos os quatro valores de ponto flutuante devem ser gravados no registro de textura correspondente.

Qualquer um dos sinalizadores de transformação de textura D3DTTFF* deve ser zero quando o pipeline programável está sendo usado.

Intervalo de coordenadas de textura

Os dados de vértice do objeto fornece coordenadas de textura de entrada. Objetos que não utilizam texturas em bloco geralmente têm coordenadas de textura no intervalo [0,1]. Objetos que usam texturas em bloco, como terreno, normalmente têm coordenadas de textura que variam de [-?,+?] na qual ? pode ser um número de ponto flutuante grande.

A interpolação de coordenadas de textura é executada em dados de vértice para rasterização. Durante a rasterização, as coordenadas de textura são interpoladas entre vértices de objeto, modificadas por disposição de textura e dimensionadas pelo tamanho da textura (também levando em conta o modo de endereço de textura) para produzir um índice inteiro. Em seguida, o índice é usado para executar uma pesquisa de textura. MaxTextureRepeat pode ser usado para determinar quantas vezes uma textura pode ser lado a lado.

Se as coordenadas de textura forem lidas diretamente em um sombreador de pixel (usando texcoord ou texcrd), o intervalo de coordenadas de textura dependerá da instrução e da versão do sombreador de pixel.

Registros de sombreador de vértice