Texturfilterung

Die Texturfilterung erzeugt eine Farbe für jedes Pixel im 2D gerenderten Bild des Grundtyps, wenn ein Grundtyp gerendert wird, indem ein 3D-Grundtyp einem 2D-Bildschirm zugeordnet wird.

Wenn Direct3D einen Grundtyp rendert, wird der 3D-Grundtyp einem 2D-Bildschirm zugeordnet. Wenn der Grundtyp über eine Textur verfügt, muss Direct3D diese Textur verwenden, um eine Farbe für jedes Pixel im 2D gerenderten Bild des Grundtyps zu erzeugen. Für jedes Pixel im Bild des Grundtyps auf dem Bildschirm muss ein Farbwert aus der Textur abgerufen werden. Dieser Prozess wird als Texturfilterung bezeichnet.

Wenn ein Texturfiltervorgang ausgeführt wird, wird die verwendete Textur in der Regel ebenfalls vergrößert oder minimiert. Mit anderen Worten, es wird einem primitiven Bild zugeordnet, das größer oder kleiner als sich selbst ist. Die Vergrößerung einer Textur kann dazu führen, dass viele Pixel einem Texel zugeordnet werden. Das Ergebnis kann eine klobige Darstellung sein. Die Minimierung einer Textur bedeutet oft, dass ein einzelnes Pixel vielen Texels zugeordnet wird. Das resultierende Bild kann verschwommen oder aliasiert sein. Um diese Probleme zu beheben, muss eine Mischung der Texelfarben durchgeführt werden, um eine Farbe für das Pixel zu erhalten.

Direct3D vereinfacht den komplexen Prozess der Texturfilterung. Es bietet Ihnen drei Arten von Texturfilterung: lineare Filterung, anisotrope Filterung und Mipmap-Filterung. Wenn Sie keine Texturfilterung auswählen, verwendet Direct3D eine Technik, die als Sampling für den nächsten Punkt bezeichnet wird.

Jede Art von Texturfilterung hat Vor- und Nachteile. Für instance kann die lineare Texturfilterung zu gezackten Kanten oder einer klobigen Darstellung im endgültigen Bild führen. Es handelt sich jedoch um eine berechnungsarme Methode der Texturfilterung. Das Filtern mit Mipmaps führt in der Regel zu den besten Ergebnissen, insbesondere in Kombination mit anisotroper Filterung. Es erfordert jedoch den größten Arbeitsspeicher der Techniken, die Direct3D unterstützt.

Arten der Texturfilterung

Direct3D unterstützt die folgenden Texturfilteransätze.

In diesem Abschnitt

Thema BESCHREIBUNG

Sampling am nächstgelegenen Punkt

Anwendungen müssen keine Texturfilterung verwenden. Direct3D kann so festgelegt werden, dass die Texeladresse berechnet wird, die häufig nicht in ganze Zahlen ausgewertet wird, und die Farbe des Texels mit der nächstgelegenen ganzzahligen Adresse kopiert wird. Dieser Prozess wird als Stichprobenentnahme am nächsten Punkt bezeichnet.

Bilineare Texturfilterung

Die bilineare Filterung berechnet den gewichteten Durchschnitt der vier Texel, die dem Stichprobenpunkt am nächsten sind. Dieser Filteransatz ist genauer und üblicher als die Filterung mit dem nächsten Punkt. Dieser Ansatz ist effizient, da er in moderner Grafikhardware implementiert ist.

Anisotropische Texturfilterung

Anisotropie ist 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. Wenn ein Pixel aus einem anisotropen Grundtyp Texels zugeordnet wird, wird seine Form verzerrt.

Texturfilterung mit Mipmaps

Eine Mipmap ist eine Sequenz von Texturen, von denen jede eine schrittweise niedrigere Auflösung darstellung desselben Bilds ist. Die Höhe und Breite jedes Bilds oder jeder Ebene in der mipmap ist kleiner als die vorherige Ebene.

 

Texturen