Koordinatsystem (Direct3D 10)

Koordinatsystem för Direct3D 10 definieras för pixlar och texels.

Skillnader mellan Direct3D 9 och Direct3D 10:

  • Direct3D 10 definierar det övre vänstra hörnet av den övre vänstra pixeln som ursprunget för ett återgivningsmål.
  • Direct3D 9 definierar mitten av den övre vänstra pixeln som ursprung för ett återgivningsmål.

 

pixelkoordinatsystem

Texel Koordinatsystem

Relaterade ämnen

Pixelkoordinatsystem

Pixelkoordinatsystemet i Direct3D 10 definierar ursprunget för ett återgivningsmål i det övre vänstra hörnet. som du ser i följande diagram. Pixelcenter förskjuts av (0,5f,0,5f) från heltalsplatser.

diagram över pixelkoordinatsystemet i direct3d 10

Pixelkoordinatsystem för Direct3D 9

Som referens är här pixelkoordinatsystemet för Direct3D 9, som definierade ursprunget eller ett återgivningsmål som mitten av den övre vänstra pixeln, (0,5,0,5) bort från det övre vänstra hörnet, enligt följande diagram. I Direct3D 9 finns pixelcenter på heltalsplatser.

diagram över pixelkoordinatsystemet i direct3d 9

Texel-koordinatsystem

Texelkoordinatsystemet har sitt ursprung i det övre vänstra hörnet av strukturen, enligt följande diagram. Detta gör rendering av skärmjusterade texturer triviala (i Direct3D 10), eftersom pixelkoordinatsystemet är i linje med texelkoordinatsystemet.

diagram över texelkoordinatsystemet

Texel-koordinatsystem

Strukturkoordinater representeras med antingen ett normaliserat eller ett skalat tal. varje strukturkoordinat mappas till en specifik texel enligt följande:

För en normaliserad koordinat:

  • Punktsampling: Texel # = floor(U * Width)
  • Linjär sampling: Vänster Texel # = floor(U * Width), Right Texel # = Left Texel # + 1

För en skalad koordinat:

  • Punktsampling: Texel # = floor(U)
  • Linjär sampling: Vänster Texel # = floor(U - 0.5), Right Texel # = Left Texel # + 1

Där bredden är bredden på strukturen (i texels).

Strukturadressomslutning sker efter att texelplatsen har beräknats.

resurser (Direct3D 10)