PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : High Quality Elliptical Texture Filtering


AnarchX
2011-02-17, 10:20:53
http://www.pmavridis.com/ewa.html

Engine Integration

Trivial. We provide drop-in replacements for the build-in GLSL texturing functions

Possibility to enable it in the graphics drivers

Limited performance impact when applied only to surfaces that need it

Easy to control performance and quality

Coda
2011-02-17, 13:05:39
Sieht sehr gut aus, muss ich mich mal durcharbeiten.

Einen Kommentar hab ich aber schon:
Clearly, the lod selection in the hardware implementation is tweaked for performance and not quality and therefore a high quality implementation cannot rely on the hardware lod selection to perform the texture ltering.
Das würde ich so nicht unterschreiben. Die Abweichung ist so minimal dass man es eh nicht sieht.

Langenscheiss
2011-02-17, 14:58:33
Auf den ersten Blick scheint es einfach der nächste logische Schritt zu sein:
Anstatt die Ellipse mit trilinearen Samples zu überdecken, überdeckt man die Ellipse nun mit kleinen anisotropen Samples, also die große Ellipse mit vielen kleinen Eliipsen, welche von der fixed function routine in Hardware berechnet werden. Wie sie selber schreiben, ist sowas natürlich nur adaptiv an den Stellen anzuwenden, an denen es wirklich nötig ist, und um die Performance weiter zu erhöhen, werden pro Frame abwechseln nur bestimmte Positionen in der Eliipse gesampled (temporal placement).
Schade, dass keine Performance-Angaben dabei waren, denn mich würde interessieren, wie viel schneller das Verfahren im Vergleich zu SSAA ist. Zumal ja das Moiree Problem ja auch immer stark vom content abhängt, und ich könnt mir vorstellen, dass die Schwelle zum besseren Verfahren an einigen Stellen versagt, d.h. manche Stellen im Bild zeigen Moiree, andere wiederum nicht, wenn man den Schwellwert falsch einstellt.

hell_bird
2011-02-17, 16:26:16
Hat das wirklich sichtbare Vorteile außer bei dem Schwarz/Weißmuster? Nvidias HQ AF schlägt sich ja relativ gut wenn man von den worst-case Szenarien absieht

Langenscheiss
2011-02-17, 16:35:21
Hat das wirklich sichtbare Vorteile außer bei dem Schwarz/Weißmuster? Nvidias HQ AF schlägt sich ja relativ gut wenn man von den worst-case Szenarien absieht
Tja, das hätte ich mal gerne gewusst. Das Paper ist, was die Anwendbarkeit in realen Szenen angeht, ziemlich dünn.

Coda
2011-02-17, 18:28:53
Ich wundere mich gerade etwas über das Paper. Wenn ich es nicht falsch interpretiere führt ihr Verfahren im Wesentlichen dazu, dass trotzdem alle Samples entlang der LOA genommen werden, aber diese zufällig gestreuter sind.

Ailuros
2011-02-19, 10:42:04
Sieht sehr nett aus fuer jemand wie mich der nur die Haelfte wenn nicht weniger davon versteht.

Helft mir auf die Beine: die Methode benutzt existierende filtering hw auf GPUs und erreicht hoehere Qualitaet durch einen Algorithmus der duch die ALUs laeuft?

Langenscheiss
2011-02-19, 11:26:45
Sieht sehr nett aus fuer jemand wie mich der nur die Haelfte wenn nicht weniger davon versteht.

Helft mir auf die Beine: die Methode benutzt existierende filtering hw auf GPUs und erreicht hoehere Qualitaet durch einen Algorithmus der duch die ALUs laeuft?

Jo, im Prinzip isses so, allerdings ist das mit der höheren Qualität so eine Sache. Wie sie selber im Paper schreiben, ist der gewöhnliche Fall der, dass die Hardware völlig ausreicht, zumal der Gewinn in realen Szenen ohne Schachbretttextur vermutliche eher gering ausfallen wird (sie müssten schon etwas konkreter werden in einem Paper, sonst bleibe ich skeptisch). Es scheint für mich eine pro Pixel ALU gestütze Wiederholung der Ausnutzung des Hardwarefilters zu sein. Anstatt also von der Hardware nur einmal trilineare Samples entlang der großen Halbachse verteilen zu lassen, setzt man mehrere kleinere anisotrope Samples per Shader und gewichtet diese gaussisch, was letztendlich, wie Coda ja sagte, nur zu einer etwas "zufälligeren" Streuung der Samples entlang der großen Halbachse und einer etwas intelligenteren Gewichtung führt, was, so die Autoren, den elliptischen footprint besser approximieren soll und darüber hinaus ermöglicht, über die maximale Zahl von 16 trilinearen Samples hinauszugehen (im Filtertester gibs ja dank ALUs auch 512xAF, allerdings sieht man ja nicht unbedingt einen gewaltigen Unterschied). Da das nicht so schnell geht wie die fixed function Texturfilterung, verschiebt man zusätzlich pro Frame die anisotropen Samples (temporal distribution) und mittelt über 2 Frames, womit man pro Frame effektiv weniger Samples nehmen muss.

Ailuros
2011-02-19, 16:05:17
Tja meine naechste Frage waere gewesen warum so etwas umstaendliches fuer einen relativ geringen insgesamt Unterschied.

Dumme Frage: koennten IHVs so etwas nicht in TMUs integrieren? Wenn ja kann ich mir nicht vorstellen dass es besonders teuer waere.

Langenscheiss
2011-02-19, 18:29:54
Tja meine naechste Frage waere gewesen warum so etwas umstaendliches fuer einen relativ geringen insgesamt Unterschied.

Dumme Frage: koennten IHVs so etwas nicht in TMUs integrieren? Wenn ja kann ich mir nicht vorstellen dass es besonders teuer waere.
Die Frage ist, warum sie das machen sollten. Scheint mir den Aufwand nicht wert. Aber irgendwie auch schizophren, wenn man gleichzeitig die maximale Anzahl pro anisotropes Sample auf 16 trilineare beschränkt und (im Falle von AMD) jedes trilineare Sample in der fixed function Hardware gleichgewichtet. Man sollte das Paper auch glaub ich weniger als Anregung zur Erweiterung der Hardware sehen, als viel mehr als eine Anleitung, den Texturfilter per Shader zu verbessern. Deshalb wird ja auch darauf hingewiesen, dass man sowas in bestehende engines integrieren kann.