Partilhar via


Sistemas de coordenadas (Direct3D 10)

Os sistemas de coordenadas para Direct3D 10 são definidos para pixels e texels.

Diferenças entre o Direct3D 9 e o Direct3D 10:

  • O Direct3D 10 define o canto superior esquerdo do pixel superior esquerdo como a origem de um destino de renderização.
  • O Direct3D 9 define o centro do pixel superior esquerdo como a origem de um destino de renderização.

 

Sistema de coordenadas Pixel

Sistema de Coordenadas Texel

Tópicos relacionados

Sistema de coordenadas Pixel

O sistema de coordenadas de pixel no Direct3D 10 define a origem de um destino de renderização no canto superior esquerdo. conforme mostrado no diagrama a seguir. Os centros de pixels são deslocados por (0.5f,0.5f) de locais inteiros.

diagrama do sistema de coordenadas de pixel no Direct3D 10

Sistema de coordenadas de pixel para Direct3D 9

Para referência, aqui está o sistema de coordenadas de pixel para Direct3D 9, que definiu a origem ou um destino de renderização como o centro do pixel superior esquerdo (0,5,0,5) longe do canto superior esquerdo, conforme mostrado no diagrama a seguir. No Direct3D 9, os centros de pixels estão em locais inteiros.

diagrama do sistema de coordenadas de pixel no Direct3D 9

Sistema de coordenadas Texel

O sistema de coordenadas texel tem sua origem no canto superior esquerdo da textura, como mostrado no diagrama a seguir. Isso torna a renderização de texturas alinhadas à tela trivial (no Direct3D 10), já que o sistema de coordenadas de pixel está alinhado com o sistema de coordenadas texel.

diagrama do sistema de coordenadas de Texel

Sistema de coordenadas Texel

As coordenadas de textura são representadas com um número normalizado ou dimensionado; Cada coordenada de textura é mapeada para um texel específico da seguinte forma:

Para uma coordenada normalizada:

  • Amostragem de pontos: Texel # = piso (U * Largura)
  • Amostragem linear: Texel esquerdo # = chão (U * largura), Texel direito # = Texel esquerdo # + 1

Para uma coordenada dimensionada:

  • Amostragem pontual: Texel # = floor(U)
  • Amostragem linear: Texel esquerdo # = chão(U - 0,5), Texel direito # = Texel esquerdo # + 1

Onde a largura, é a largura da textura (em texels).

O encapsulamento do endereço de textura ocorre depois que a localização do texel é calculada.

Recursos (Direct3D 10)