Grundlagen-Artikel zu anisotroper Filterung gesucht

the Interceptor

Lt. Commander
Registriert
Juni 2003
Beiträge
1.903
Hallo!

Ich kann mich daran erinnern, auf einer der einschlägigen Webseiten vor einigen Monaten mal einen interessanten Artikel zu Filtern im Allgemeinen und den verschiedenen Filterverfahren von Grafikkarten gelesen zu haben. Dort waren auch Beispiel-Bilder abgebildet, auf denen zur Veranschaulichung der Filterwirkung Kopfsteinpflaster zu sehen war, wohl aus "Battlefield 1942" oder einem vergleichbaren Spiel.

Nun finde ich den Artikel aber leider nicht mehr wieder. Es wäre super, wenn sich einer von Euch auch an den Artikel erinnert und mir einen Tip oder Link dazu geben kann oder mir alternativ einen vergleichbaren Artikel zum selben Thema empfehlen kann.

Für Hinweise, die zur Ergreifung des Täters führen, wird eine Belohnung von einem Karmapunkt ausgesetzt :D

Gruß,
the Interceptor
 
Zuletzt bearbeitet:
Erstmal danke für die Tips Jungs, dafür bekommt Ihr gleich alle erstmal ein Karma :daumen:

Der von mir gesuchte Artikel war leider noch nicht dabei. Bei 3DCenter hatte ich mich auch schon umgesehen, da ich den Artikel dort vermutet, aber nicht gefunden hatte.

Mein Anliegen ist das Folgende: Ich versuche den Boardies in einem Forum zum Playstation-Spiel "Gran Turismo" zu erklären, warum im Spiel die Objekte wie z.B. Zäune immer so flimmern. Ich gehe davon aus, daß das an der gänzlich fehlenden Filterung im Verbund mit der geringen Auflösung der Bilder liegt. Das würde ich nun gerne mit dem von mir gesuchten Artikel untermauern, in dem so anschaulich erklärt wurde, warum gefiltert wird. Dort konnte man nämlich auch sehen, wie grausig es aussehen kann, wenn man garnicht filtert.
Mir fällt gerade ein, daß dort auch auf verschieden große Texturen eingegangen wurde um entferntere Objekte darzustellen. Hilft das vielleicht jemandem auf die Sprünge?

EDIT:
@ [bAd]Dino und Green Mamba: Ich kann Euch leider kein Karma geben, Ihr habt anscheinend vor Kurzem schon ein Leckerli von mir bekommen.

Gruß,
the Interceptor
 
Zuletzt bearbeitet:
Ich guck mal grad, ich glaub ich kann wenigstens mit ein paar Bilderchen dienen.

Nummer 1 ist ohne Filterung.
Nummer 2 ist mit MIP-Mapping und bilinearer Filterung.
Nummer 3 mit Trilinearer Filterung. Bringt also allein auch nicht gerade das Optimum. Daher bedient man sich der Anisotropen Filterung. Dabei wird quasi ein antialiasing der Texturen erzielt.
Nummer 4 nochmal ein Bespiel mit bilinearer Filterung, dabei wird der Mittelwert mehrerer textursamples benutzt.
Nummer 5 ein weiteres Beispiel mit Trilinearer Filterung. Dabei werden zusätzlich mehere MIP-Levels integriert, jeder MIP-Level enthält die Textur in einer anderen Auflösung.

To be continued!
 

Anhänge

  • ohne filterung.jpg
    ohne filterung.jpg
    20,4 KB · Aufrufe: 195
  • bilinear.jpg
    bilinear.jpg
    15,7 KB · Aufrufe: 208
  • trilinear.jpg
    trilinear.jpg
    14,1 KB · Aufrufe: 206
  • bilinear-text.jpg
    bilinear-text.jpg
    5,2 KB · Aufrufe: 182
  • trilinear-text.jpg
    trilinear-text.jpg
    5,5 KB · Aufrufe: 202
Zuletzt bearbeitet:
Und hier jetzt das Ergebnis mit 2-facher und 4-facher anisotroper Filterung. Dabei werden zusätzlich je nach Perspektive mehere Textursamples geschossen.

MIP-Mapping kannst du dir so vorstellen, dass die Textur je nach Entfernung des Objektes in verschiedenen Auflösungen vorgehalten wird (MIP-Level), um aliasing durch die Unterschiedliche Auflösung von Textur und Bildschirm zu vermeiden.

Das Problem dabei ist, dass das Umschalten zwischen den Texturauflösungen in Animationen natürlich sichtbar ist. Daher filtert man Trilinear, und zwar zwischen jeweils 2 verschiedenen MIP-Leveln. Damit wird das umschalten kaschiert.

Wenn man jetzt auch noch schräg auf eine Ebene schaut, dann verwaschen die Texturen, da die Pixel rechteckig auf die Textur abgebildet werden. Dafür tastet man die Textur in Perspektivenrichtung zusätzlich mehrfach ab. (Anisotrope Filterung) :)

Hoffe das ist in der Kurzform einigermaßen verständlich, wenn nicht --> Fragen.
 

Anhänge

  • 2xanisotrop.jpg
    2xanisotrop.jpg
    6,4 KB · Aufrufe: 218
  • 4xanisotrop.jpg
    4xanisotrop.jpg
    6,9 KB · Aufrufe: 201
Zuletzt bearbeitet:
Ich glaube das tut's schon, ich habe mir einen Artikel zusammengeschustert.

Vielen vielen Dank für Eure und speziell Deine Hilfe Green Mamba, Ihr habt alle Einen gut bei mir :)

Gruß,
the Interceptor
 
Ach ja, den Gauß-Filter aus deinem Link vergiss mal lieber, den gibts nicht auf der Grafik-Hardware. ;)
 
Ja, aber es geht ja mehr um's Generelle. Die Playstation filtert ja gar nicht, da kann sie auch nix falsch machen :D

Gruß,
the interceptor
 
Überlassen wir mal der Schlange den mathematischen Teil ;) und gehen von dem Begriff der (An)Isotropie aus:

Isotrop ist das, was kontinuierlich in einer gleichen Stärke oder Intensität vorliegt oder geschieht. Siehe Bi-/Trilineares Filtering, jede Textur wird gleich stark interpoliert/gefiltert. Ergebnis ist ein schöner Weichzeichnereffekt, welcher bei Texturen mit geringer Auflösung(Quake 1 zB) recht nett ausschaut. Bei höher aufgelösten Texturen(alle neueren Spiele) ist die Wirkung aber jene, das insbesondere entfernte Texturen vergleichsweise unscharf werden.
[Ein solcher statischer Algorithmus ist natürlich leichter in Hardware zu integrieren, von daher ist er sehr schnell!]

Ergo: man filtert nach dem Inhalt angepaßt unterschiedlich stark - anisotrop halt. Das ganze geschieht natürlich mit mathematischen Algorithmen(wovon ATI und NV in letzter Zeit sehr viele ausgebuddelt haben ;)), wobei gilt: je mehr Informationen aus der Umgebung vorliegen, sog. Samples, desto besser kann die passende Filtermethode ermittelt werden. Wobei hier auch gerne eher zu viel gefiltert wird (man möchte Blockeffekte aus der Zeit des Softwarerenderings vermeiden), so daß mit immer mehr Samples(2x>4x>8x>...) die Darstellung immer schärfer wird.
[Das erfordert natürlich einen Algorithmus, der aus mehreren Zahlenwerten eine Filterstärke ermittelt. Das erfordert Bandbreite und Rechenkapazität. Deswegen setzen hier auch die Hersteller an und "optimieren" bis der Arzt kommt - zB werden Texturen im flachen Blickwinkel mit weniger Samples gefiltert usw...]

Es sei noch angemerkt, das rein visuell ähnlich wie beim AntiAliasing mehr als 4 Samples(4x) kaum noch Vorteile bringen.
 
(c) schrieb:
Ergo: man filtert nach dem Inhalt angepaßt unterschiedlich stark - anisotrop halt.

Genau genommen wird mehrfach gesampled, und zwar je nachdem wie flach man auf eine Ebene sieht, je flacher, desto weiter liegen die Samples auseinander.
Wenn man senkrecht auf eine Ebene schaut, bringt AF überhaupt nichts. ;)
 
Zurück
Oben