Anisotrope Texturfilterung (Direct3D 9)

Die Verzerrung, die in den Texeln eines 3D-Objekts sichtbar ist, dessen Oberfläche in Bezug auf die Bildschirmebene an einem Winkel ausgerichtet ist, wird als Anisotropie bezeichnet. Wenn ein Pixel aus einem anisotropen Primitiven texels zugeordnet wird, wird seine Form verzerrt. Direct3D misst die Anisotropie eines Pixels als Die Länge eines Bildschirmpixels, das umgekehrt dem Texturraum zugeordnet ist, d. h. länge geteilt durch Breite.

Sie können die Anisotrope Texturfilterung in Verbindung mit linearer Texturfilterung oder Mipmaptexturfilterung verwenden, um renderingergebnisse zu verbessern. Ihre Anwendung ermöglicht die Anisotrope Texturfilterung, indem sie die IDirect3DDevice9::SetSamplerState-Methode aufruft. Legen Sie den Wert des ersten Parameters auf die ganzzahlige Indexnummer (0-7) der Textur fest, für die Sie eine Texturfilterungsmethode auswählen. Übergeben Sie D3DSAMP _ MAGFILTER, D3DSAMP _ MINFILTER oder D3DSAMP _ MIPFILTER für den zweiten Parameter, um den Filter für Vergrößerung, Vergrößerung oder Mipmapping festzulegen. Legen Sie den dritten Parameter auf D3DTEXF _ ANISOTROPE fest.

Ihre Anwendung muss auch den Grad der Anisotropie auf einen Wert größer als 1 festlegen. Rufen Sie hierzu die IDirect3DDevice9::SetSamplerState-Methode auf. Legen Sie den Wert des ersten Parameters auf die ganzzahlige Indexnummer (0-7) der Textur fest, für die Sie den Grad der Isotropie festlegen. Übergeben Sie D3DSAMP _ MAXANISOTROPY als Wert des zweiten Parameters. Der letzte Parameter sollte der Grad der Isotropie sein.

Sie können die Isotrope Filterung deaktivieren, indem Sie den Grad der Isotropie auf eins festlegen. jeder Wert, der größer als ein Wert ist, aktiviert dies. Überprüfen Sie das MaxAnisotropy-Flag in der D3DCAPS9-Struktur, um den möglichen Wertebereich für den Grad der Anisotropie zu bestimmen.

Texturfilterung