Koordinatensysteme (Direct3D 10)

Koordinatensysteme für Direct3D 10 werden für Pixel und Texel definiert.

Unterschiede zwischen Direct3D 9 und Direct3D 10:

  • Direct3D 10 definiert die obere linke Ecke des oberen linken Pixels als Ursprung eines Renderziels.
  • Direct3D 9 definiert die Mitte des pixel oben links als Ursprung eines Renderziels.

Pixelkoordinatensystem

Texel-Koordinatensystem

Zugehörige Themen

Pixelkoordinatensystem

Das Pixelkoordinatensystem in Direct3D 10 definiert den Ursprung eines Renderziels in der oberen linken Ecke. wie im folgenden Diagramm dargestellt. Pixelcenter werden von ganzzahligen Positionen um (0,5f, 0,5f) versetzt.

Diagramm des Pixelkoordinatensystems in direct3d 10

Pixelkoordinatensystem für Direct3D 9

Als Referenz ist hier das Pixelkoordinatensystem für Direct3D 9 angegeben, das den Ursprung oder ein Renderziel als Mitte des oberen linken Pixels (0,5,0,5) von der oberen linken Ecke entfernt definiert hat, wie im folgenden Diagramm dargestellt. In Direct3D 9 befinden sich Pixelcenter an ganzzahligen Positionen.

Diagramm des Pixelkoordinatensystems in direct3d 9

Texel-Koordinatensystem

Das Texelkoordinatensystem hat seinen Ursprung in der linken oberen Ecke der Textur, wie im folgenden Diagramm dargestellt. Dies macht das Rendern bildschirmbündiger Texturen trivial (in Direct3D 10), da das Pixelkoordinatensystem am Texelkoordinatensystem ausgerichtet ist.

Diagramm des Texelkoordinatensystems

Texel-Koordinatensystem

Texturkoordinaten werden entweder mit einer normalisierten oder einer skalierten Zahl dargestellt. Jede Texturkoordinate wird wie folgt einem bestimmten Texel zugeordnet:

Für eine normalisierte Koordinate:

  • Punktstichproben: Texel # = floor(U * Width)
  • Lineare Stichprobenentnahme: Left Texel # = floor(U * Width), Right Texel # = Left Texel + # 1

Für eine skalierte Koordinate:

  • Punktstichproben: Texel # = floor(U)
  • Lineare Stichprobenentnahme: Left Texel # = floor(U - 0.5), Right Texel # = Left Texel + # 1

Wobei die Breite die Breite der Textur (in Texeln) ist.

Die Texturadressenumbruchung erfolgt, nachdem die Texelposition berechnet wurde.

Ressourcen (Direct3D 10)