PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AF, was ist das jetzt genau


doppelschwoer
2004-07-14, 21:39:08
Ich glaub ich bin zu doof für diese Welt <schnief>
Jetzt muß ich einfach mal Fragen.
WAS IST Anisotropes Filtering???? Im Prinzip weis ich schon, was das ist. Aber was ist es nun GENAU. Wie muß ich zum Beispiel die lustigen Bilder verstehen/lesen, die mit den Test-Progs gemacht werden.
Mir ist das alles irgendwie noch ein Buch mit sieben Siegeln.

Jetzt bitte nicht nur über mich herziehen. Immerhin hab ich mich getraut zu Fragen :-(

Aqualon
2004-07-14, 22:09:36
Hast du schon den entsprechenden Artikel bei 3DCenter (http://3dcenter.de/artikel/grafikfilter/) gelesen?

Aqua

DanMan
2004-07-14, 22:42:40
Öhm...

AF kümmert sich darum, dass perspektivisch korrekt gefiltert wird, indem es mehr Sampling-Punkte verwendet. Kann man doch so sagen, oder etwa nicht?

Monger
2004-07-14, 23:33:43
Original geschrieben von DanMan
Öhm...

AF kümmert sich darum, dass perspektivisch korrekt gefiltert wird, indem es mehr Sampling-Punkte verwendet. Kann man doch so sagen, oder etwa nicht?

Mal ganz untechnisch ausgedrückt (ich liebe nicht-technische Erklärungen! :) ) versucht man mit AF die Texturschärfe so zu manipulieren, dass sie der natürlichen Wahrnehmung entspricht, und das mit minimalem Rechenaufwand.


Weil man mit zunehmender Entfernung sowieso immer weniger Details wahrnehmen kann, versucht man einen sanften Übergang von hochauflösend zu pixelig zu schaffen.

Endorphine
2004-07-14, 23:59:41
Isotroper Texturfilter: "richtungsunabhängige" Filterung, d. h. auf allen drei Achsen (x-, y- und z-Achse) wird mit gleicher Gewichtung gleich gefilter. An-isotropische Filterung (richtungsabhängige Filterung) arbeitet auf der z-Achse (die, "die in den Raum hineinzeigt") mit höher aufgelösten Mipmaps bzw. die niedriger aufgelösten Mipmaps kommen erst bei einem höheren z-Wert zur Anwendung als bei isotroper Filterung. Dadurch stehen dem Texturfilter weiter vorn im Raum mehr Bildinformationen zur Verfügung und der Detailgrad bzw. die Bildqualität steigt.

Aths kann's sicher besser erklären ;)

Endorphine
2004-07-15, 00:04:30
Original geschrieben von DanMan
Öhm...

AF kümmert sich darum, dass perspektivisch korrekt gefiltert wird, indem es mehr Sampling-Punkte verwendet. Kann man doch so sagen, oder etwa nicht? Perspektivenkorrektur ist imho etwas ganz anderes. Das sorgt dafür, dass entferntere Objekte kleiner dargestellt werden als nähere und dass dabei keine Verzerrungen auftreten.

AF steigert nur die Bildqualität, durch den späteren Einsatz von niedriger aufgelösten MIP-Maps auf der z-Achse. Perspektivisch korrekter ist das imho nicht, sonst wäre ein isotroper Texturfilter nicht isotrop.

MadManniMan
2004-07-15, 00:52:09
Original geschrieben von Monger
Weil man mit zunehmender Entfernung sowieso immer weniger Details wahrnehmen kann, versucht man einen sanften Übergang von hochauflösend zu pixelig zu schaffen.

Was du grad schilderst ist das Verhalten von MipMapping - kleiner aufgelöste Texturen je nach Entfernung, dabei eine lineare Interpolation zwischen denen -> Trilinearer Filter mit MipMaps.

AF ist das, was Endo beschrieben hat :wink:

DanMan
2004-07-15, 02:05:09
Original geschrieben von Endorphine
Perspektivenkorrektur ist imho etwas ganz anderes. Das sorgt dafür, dass entferntere Objekte kleiner dargestellt werden als nähere und dass dabei keine Verzerrungen auftreten.

AF steigert nur die Bildqualität, durch den späteren Einsatz von niedriger aufgelösten MIP-Maps auf der z-Achse. Perspektivisch korrekter ist das imho nicht, sonst wäre ein isotroper Texturfilter nicht isotrop.
Hmm.. haste wohl recht. Was spricht eigentlich gegen die Beschreibung: nix anderes als ne LOD-Verschiebung, abhängig vom Winkel der Fläche? LOD-Voreinstellungen quasi.

MadManniMan
2004-07-15, 02:14:51
Original geschrieben von DanMan
Hmm.. haste wohl recht. Was spricht eigentlich gegen die Beschreibung: nix anderes als ne LOD-Verschiebung, abhängig vom Winkel der Fläche? LOD-Voreinstellungen quasi.

Falsch. Durch eine LoD-Verschiebung würdest du übelstes Shimmering haben. AF bewirkt eine höhere SubTexelzahl pro Pixel - mehr Info pro Bildeinheit ;)

DanMan
2004-07-15, 03:07:24
Hmmm... womit wir wieder bei meiner ersten Erklärung mit dem "perspektivisch korrekt" wären, da durch die perspektivische Verzerrung der Textur ja überhaupt erst die "Probleme" entstehen, weswegen man dann AF benutzt. War wohl eher ein Missverständniss. Perpektivenkorrektur != perspektivisch korrekt Filtern.

Also nochmal: AF benutzt bei (stark) angewinkelten Flächen, für Pixel, die in der Tiefe des Bildes liegen, mehr als 4 Texel einer Mipmap um den Farbwert des Pixels zu bestimmen.
Gegenüber bi- und trilinearem Filtern, die ja immer 4 Texel (nennt sich Quad, oder?) dazu benutzen.

Ist das jetzt so richtig(er)? ?-)

P.S.: Sorry fürs Thread-Kidnappen ;)

MadManniMan
2004-07-15, 04:12:09
Original geschrieben von DanMan
Also nochmal: AF benutzt bei (stark) angewinkelten Flächen, für Pixel, die in der Tiefe des Bildes liegen, mehr als 4 Texel einer Mipmap um den Farbwert des Pixels zu bestimmen.
Gegenüber bi- und trilinearem Filtern, die ja immer 4 Texel (nennt sich Quad, oder?) dazu benutzen.

:up: Ich wüßts nicht besser! :up:

Bei 2* AF werden also bis zu 8 Texel aus einer Mipmap genommen - der Algorythmus filtert natürlich nicht alles mit 2* AF, sonder arbeitet adaptiv, i.e. da wos nötig ist ;)

Das mit dem "nötig" aber bitte nicht misverstehen und die Winkelabhängigkeit des Radeon- und NV40-AFs als "da-wos-nötig-is-filterts-auch!" verstehen!

Dazu kommt: bei 16* AF wird nicht nur zwischen normalem Bi- oder Tri-Filter und der höchsten Stufe alterniert, je nach Betrachtungswinkel, sondern zwischen 1*(also der isotope Filter), 2*, 4*, 6*(!), 8*, 10*(!), 12*(!), 14*(!) und 16* - die vielen Zwischenstufen sparen Füllrate.
Dies verdeutlicht nochmal die Adaptivität des Prinzips: es werden immer nur soviele Texel genommen, wie nötig.

doppelschwoer
2004-07-15, 07:53:09
WOW! Danke. Hab in der zwischenzeit nochmal den Bericht von aths gelesen. So langsam wird doch das eine oder andere klar.

Jetzt bleibt nur noch die Sache mit den Test Bildern. Wie muß ich das verstehen. Da sieht man die Winkelabhängigkeit der Filter in einem Kreis. Aber ich dachte die Winkelabhängigkeit geht 'in die Tiefe'. Also in welchem Winkel eine Flächentextur vor mir liegt. Ich denke 90° währe senkrecht, und 0° dann flach auf dem Boden, 180° and der Decke. Ist das so richtig?

Hmmm, sind die Kreise womöglich keine Kreise, sondern Tunnel/Röhren???

q@e
2004-07-15, 08:18:54
Ja, das ist ein Blick in einen Tunnel.

aths
2004-07-15, 10:47:06
Original geschrieben von DanMan
Öhm...

AF kümmert sich darum, dass perspektivisch korrekt gefiltert wird, indem es mehr Sampling-Punkte verwendet. Kann man doch so sagen, oder etwa nicht? Nein.

Original geschrieben von Monger
Weil man mit zunehmender Entfernung sowieso immer weniger Details wahrnehmen kann, versucht man einen sanften Übergang von hochauflösend zu pixelig zu schaffen. Auch nicht.

Original geschrieben von Endorphine
AF steigert nur die Bildqualität, durch den späteren Einsatz von niedriger aufgelösten MIP-Maps auf der z-Achse. Nicht direkt. Vor allem spielt die Z-Achse hier keine Rolle.

Sofern das Pixel auf der Textur eine quadratische Fläche bedeckt, nutzt AF nichts (weshalb es für solche Fälle automatisch abgeschaltet wird, selbst wenn man es aktiviert hat.)

Sofern eine Textur verzerrt dargestellt wird, kommt ggf. aktives AF zum Einsatz, in dem "in Verzerrungsrichtung" mehrere Samples genommen werden*. Dabei ist es unerheblich, ob es "in die Tiefe geht", oder nicht. (Das "weiß" die AF-Logik auch gar nicht.)

* Das LOD wird natürlich für die "mehreren" Samples berechnet, so dass man meistens aus einer höher aufgelösten MIP filtert.

aths
2004-07-15, 11:02:35
Original geschrieben von doppelschwoer
WOW! Danke. Hab in der zwischenzeit nochmal den Bericht von aths gelesen. So langsam wird doch das eine oder andere klar.Den Artikel bitte nicht allzu wörtlich nehmen. Gerade beim AF ist dort einiges nicht so glücklich formuliert, so dass ich einen neuen Artikel dazu plane. Zuvor muss jedoch isotrope Filterung klar sein, was wieder ein Artikel erfordert – da weiß ich noch nicht, wie tief der gehen soll und wann ich Zeit dafür habe.
Original geschrieben von doppelschwoer
Hmmm, sind die Kreise womöglich keine Kreise, sondern Tunnel/Röhren??? Am Bildschirm interessieren nur noch die 2D-Koordinaten und die dazugehörigen Texturkoordinaten. Bilder (Informationen in einer Fläche) werden auf den Monitor (einer Fläche) resampelt. Aus Gründen des Rechenaufwandes sind "echte", also quasi-perfekte Rekonstruktionsfilter nicht möglich. Deshalb nutzt man eine Reihe an Vereinfachungen (die den wenigsten bewusst sind :) und weshalb es keinen Sinn macht über AF einen Artikel zu schreiben, ohne vorher auf die tatsächliche Implementierung von bilinear / trilinear einzugehen.) Mit AF gelangt man dem "echten" Filter näher, konkret in dem eine besser passende Kernelfläche genutzt wird.

Mit "AF-TMUs" könnte man Füllrate sparen, doch solche TMUs wären sehr aufwändig. Heutige Verfahren nutzen bereits einige Möglichkeiten aus, um nur erforderliche Samples zu berechnen, aber leider geht die Entwicklung in die Richtung, AF so zu "verschnellern" in dem in vielen Bereichen schlicht weniger AF appliziert wird.

DanMan
2004-07-15, 12:34:55
Original geschrieben von aths
Sofern eine Textur verzerrt dargestellt wird, kommt ggf. aktives AF zum Einsatz, in dem "in Verzerrungsrichtung" mehrere Samples genommen werden*. Dabei ist es unerheblich, ob es "in die Tiefe geht", oder nicht. (Das "weiß" die AF-Logik auch gar nicht.)
Das konter ich glatt mit: eine angewinkelte (was du verzerrte nennst) Textur geht immer in die Bildtiefe. Wenn sie nicht angewinkelt wäre, hätte man eine Draufsicht, und da nützt ja AF nix, wie du schon gesagt hast.
Wer "verzerrt" sagt, muss auch "perspektivisch" sagen.

Xmas
2004-07-15, 13:02:21
Original geschrieben von DanMan
Das konter ich glatt mit: eine angewinkelte (was du verzerrte nennst) Textur geht immer in die Bildtiefe. Wenn sie nicht angewinkelt wäre, hätte man eine Draufsicht, und da nützt ja AF nix, wie du schon gesagt hast.
Wer "verzerrt" sagt, muss auch "perspektivisch" sagen.
Stimmt nicht. Eine Textur kann "verzerrt" auf ein Polygon gemappt sein, das völlig flach zum Betrachter steht.

Verzerrt bedeutet hier, dass in einer Richtung mehr Texel auf ein Pixel kommen als in der anderen. Das ist schon der Fall, wenn man eine 512x512-Textur auf ein 512x256 Pixel großes Rechteck mappt. Ob Verzerrung erst durch die Perspektivprojektion entsteht, oder einfach krumme Texturkoordinaten gewählt wurden, ist irrelevant.

Auch in diesem Fall wird AF angewendet, weil, wie aths schon gesagt hat, die AF-Logik von "Tiefe" oder "Neigungswinkel des Polygons" gar keine Ahnung hat. Die kennt nur die Texturkoordinaten des aktuellen Pixels und die Differenz zu den Nachbarpixeln.

DanMan
2004-07-15, 15:53:26
Ok, das wusst ich nicht. Danke fürs erklären. Sorry @ aths.