Partilhar via


Processamento de coordenadas de textura (Direct3D 9)

O diagrama a seguir mostra o caminho obtido pelas coordenadas de textura de sua origem, pelo processamento e pelo rasterizador.

diagrama do caminho para coordenadas de textura de uma origem para o rasterizador

Há duas fontes das quais o sistema pode desenhar coordenadas de textura. Para um determinado estágio de textura, você pode usar coordenadas de textura incluídas no formato de vértice (D3DFVF_TEX1 por meio de D3DFVF_TEX8) ou usar coordenadas de textura geradas automaticamente pelo Direct3D. Para obter detalhes sobre o último caso, consulte Coordenadas de textura geradas automaticamente (Direct3D 9). Se o D3DTSS_TEXTURETRANSFORMFLAGS estado do estágio de textura para o estágio de textura atual estiver definido como D3DTTFF_DISABLE (a configuração padrão), as coordenadas de entrada não serão transformadas. Se D3DTSS_TEXTURETRANSFORMFLAGS> for definido como qualquer outro valor, a matriz de transformação para esse estágio será aplicada às coordenadas de entrada.

O tipo enumerado D3DTEXTURETRANSFORMFLAGS define valores válidos para o estado D3DTSS_TEXTURETRANSFORMFLAGS estágio de textura. Com exceção do sinalizador D3DTTFF_DISABLE, que ignora a transformação de coordenadas de textura, os valores definidos nessa enumeração configuram o número de coordenadas de saída que o sistema passa para o rasterizador. Os D3DTTFF_COUNT1 por meio de sinalizadores de D3DTTFF_COUNT4 instruem o sistema a passar um, dois, três ou quatro elementos das coordenadas de saída para o rasterizador.

O sinalizador D3DTTFF_PROJECTED é especial: informa ao sistema que as coordenadas de textura são para uma textura projetada. Combine o sinalizador D3DTTFF_PROJECTED com outro membro de D3DTEXTURETRANSFORMFLAGS para instruir o rasterizador a dividir todos os elementos pelo último elemento antes da rasterização ocorrer. Por exemplo, ao usar explicitamente coordenadas de textura de três elementos ou quando a transformação resulta em uma coordenada de textura de três elementos, você pode combinar os sinalizadores de D3DTTFF_COUNT3 e D3DTTFF_PROJECTED para fazer com que o rasterizador divida os dois primeiros elementos pelo último, produzindo coordenadas de textura 2D necessárias para lidar com uma textura 2D.

Observação

Com exceção de mapas de ambiente cúbico e texturas de volume, os rasterizadores não podem abordar texturas usando coordenadas de textura com mais de dois elementos. Se você especificar mais elementos do que pode ser usado para lidar com a textura atual para esse estágio, os elementos desnecessários serão ignorados. Isso também se aplica ao usar coordenadas de textura 2D para uma textura 1D.

 

Informações adicionais estão contidas nos tópicos a seguir.

Coordenadas de textura