Footprint Assembly

Footprint Assembly i​st ein Algorithmus z​um anisotropen Filtern v​on Texturen. Die Texturverzerrung k​ann dabei i​n jeder beliebigen Richtung berechnet werden. Außerdem lässt s​ich der Algorithmus g​ut mit Techniken w​ie MIP-Mapping, bilinearem o​der trilinearem Filtern o​der auch Integralbildern (Summed Area Tables) kombinieren.

Footprint

Ein Footprint i​st die Projektion e​ines Pixels i​n das Koordinatensystem d​er Textur. Es w​ird angenommen, d​ass die Textur e​ine flache Oberfläche bespannt (dies i​st bei Dreiecken i​mmer der Fall). Der Footprint i​st dann e​in konvexes Viereck. Je genauer d​er Farbwert d​es Footprints berechnet werden kann, d​esto besser w​ird das resultierende Bild. Um Rechenaufwand z​u sparen, w​ird der Footprint b​eim 'Footprint Assembly' n​ur angenähert.

Beim Footprint Assembly w​ird der Footprint vereinfachend a​ls Parallelogramm angenommen. Hierzu w​ird der Pixelmittelpunkt i​n die Texturkoordinaten projiziert u​nd gibt d​en Mittelpunkt d​es Parallelogramms an. Die Vektoren, d​ie das Pixel entlang d​er beiden Hauptachsen aufspannen, werden ebenfalls i​n das Texturkoordinatensystem projiziert. Sie spannen n​un das Parallelogramm auf.

Vielfach w​ird auch d​as Parallelogramm a​ls Footprint bezeichnet.

Algorithmus

Es w​ird das Parallelogramm berechnet, d​as den Footprint annähert. Der Mittelpunkt heiße p.

Der kürzere der beiden Kantenvektoren gibt die Kantenlänge von Quadraten an, aus denen der Footprint berechnet werden soll. Die Quadrate lassen sich mit isotropen Filtern berechnen (meist MIP-Mapping mit bilinearem Filtern). Der längere der beiden Vektoren gibt einen Pfad an, entlang dem die quadratischen Flächen aufsummiert werden sollen.

Die Anzahl der Quadrate wird durch den Quotienten aus den Vektorlängen des längeren durch den kürzeren Vektor bestimmt und auf die nächste Zweierpotenz gerundet. Die Zweierpotenz ermöglicht ein leichteres Dividieren der Summe mittels Rechts-Shifts. Dann wird ein Schrittvektor konstruiert, der sich aus dem längeren Vektor ergibt, wenn man ihn mit skaliert. Die Punkte , an denen abgetastet werden soll, ergeben sich aus mit . An diesen Punkten als Mittelpunkt wird jeweils der Farbwert eines der Quadrate berechnet. Die Farbwerte werden summiert und durch die Anzahl geteilt. Das Ergebnis ist die Annäherung des Footprint-Farbwertes und der Texturwert für das Pixel.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.