Freigeben über


Anisotrope Texturfilterung (Direct3D 9)

Die Verzerrung, die in den Texels eines 3D-Objekts sichtbar ist, dessen Oberfläche in einem Winkel in Bezug auf die Ebene des Bildschirms ausgerichtet ist, wird Als Anisotropie bezeichnet. Wenn ein Pixel aus einem anisotropen Grundtyp texels zugeordnet wird, wird seine Form verzerrt. Direct3D misst die Anisotropie eines Pixels als die Dehnung eines Bildschirmpixels, das invers in den Texturraum zugeordnet ist.

Sie können die anisotrope Texturfilterung in Verbindung mit der linearen Texturfilterung oder der Mipmap-Texturfilterung verwenden, um die Renderingergebnisse zu verbessern. Ihre Anwendung aktiviert die anisotrope Texturfilterung durch Aufrufen der IDirect3DDevice9::SetSamplerState-Methode . Legen Sie den Wert des ersten Parameters auf die ganzzahlige Indexnummer (0-7) der Textur fest, für die Sie eine Texturfiltermethode auswählen. Übergeben Sie D3DSAMP_MAGFILTER, D3DSAMP_MINFILTER oder D3DSAMP_MIPFILTER für den zweiten Parameter, um den Vergrößerungs-, Verknappungs- oder Mipmapping-Filter festzulegen. Legen Sie den dritten Parameter auf D3DTEXF_ANISOTROPIC fest.

Ihre Anwendung muss auch den Grad der Anisotropie auf einen Wert festlegen, der größer als eins ist. 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 eins ist, aktiviert. Überprüfen Sie das MaxAnisotropy-Flag in der D3DCAPS9-Struktur , um den möglichen Wertebereich für den Grad der Anisotropie zu bestimmen.

Texturfilterung