Compartilhar via


Sistemas de coordenadas (Direct3D 10)

Os sistemas de coordenadas do 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 de Pixel

Sistema de coordenadas Texel

Tópicos relacionados

Sistema de coordenadas de pixels

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 separados por (0,5f;0,5f) de locais de números inteiros.

diagrama do sistema de coordenadas de pixels 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 de texel

O sistema de coordenadas de texel é originado no canto superior esquerdo da textura, conforme mostrado no diagrama a seguir. Isso torna trivial a renderização de texturas alinhadas à tela (no Direct3D 10), pois o sistema de coordenadas de pixel é alinhado com o sistema de coordenadas texel.

diagrama do sistema de coordenadas de texel

Sistema de coordenadas de texel

As coordenadas de textura são representadas por um número normalizado ou dimensionado; cada coordenada de textura é mapeada de acordo com um texel específico da seguinte maneira:

Para uma coordenada normalizada:

  • Amostragem de ponto: Texel # = floor(U * Width)
  • Amostragem linear: Texel Esquerdo # = floor(U * Width), Texel Direito # = Texel Esquerdo # + 1

Para uma coordenada dimensionada:

  • Amostragem de ponto: Texel # = floor(U)
  • Amostragem linear: Texel esquerdo # = floor(U - 0,5), Texel Direito # = Texel Esquerdo # + 1

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

O encapsulamento do endereço da textura ocorre após o cálculo da localização de texel.

Recursos (Direct3D 10)