Partager via


Systèmes de coordonnées (Direct3D 10)

Les systèmes de coordonnées pour Direct3D 10 sont définis pour les pixels et les texels.

Différences entre Direct3D 9 et Direct3D 10 :

  • Direct3D 10 définit l’angle supérieur gauche du pixel supérieur gauche comme origine d’une cible de rendu.
  • Direct3D 9 définit le centre du pixel supérieur gauche comme origine d’une cible de rendu.

 

Système de coordonnées de pixels

Système de coordonnées Texel

Rubriques connexes

Système de coordonnées de pixels

Le système de coordonnées de pixels dans Direct3D 10 définit l’origine d’une cible de rendu dans le coin supérieur gauche. comme illustré dans le diagramme suivant. Les centres de pixels sont décalés par (0,5f,0,5f) des emplacements entiers.

diagramme du système de coordonnées de pixels dans direct3d 10

Système de coordonnées de pixels pour Direct3D 9

Pour référence, voici le système de coordonnées de pixels pour Direct3D 9, qui a défini l’origine ou une cible de rendu comme centre du pixel supérieur gauche ( 0,5,0,5) loin du coin supérieur gauche, comme illustré dans le diagramme suivant. Dans Direct3D 9, les pixels-centres se trouvent à des emplacements entiers.

diagramme du système de coordonnées de pixels dans direct3d 9

Système de coordonnées Texel

Le système de coordonnées texel a son origine dans le coin supérieur gauche de la texture, comme illustré dans le diagramme suivant. Cela rend trivial le rendu des textures alignées sur l’écran (dans Direct3D 10), car le système de coordonnées de pixels est aligné sur le système de coordonnées texel.

diagramme du système de coordonnées texel

Système de coordonnées Texel

Les coordonnées de texture sont représentées avec un nombre normalisé ou mis à l’échelle ; chaque coordonnée de texture est mappée à un texel spécifique comme suit :

Pour une coordonnée normalisée :

  • Échantillonnage de points : Texel # = floor(U * Width)
  • Échantillonnage linéaire : Texel gauche # = floor(U * Width), Right Texel # = Left Texel # + 1

Pour une coordonnée mise à l’échelle :

  • Échantillonnage de points : Texel # = floor(U)
  • Échantillonnage linéaire : Left Texel # = floor(U - 0.5), Right Texel # = Left Texel # + 1

Où la largeur est la largeur de la texture (en texels).

L’habillage des adresses de texture se produit après le calcul de l’emplacement du texel.

Ressources (Direct3D 10)