PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AA-Fragen...


eXodia
2005-07-25, 17:28:39
…. mal wieder, sorry..

Hi

1. Eine Frage zu Transparenz-AA: wann und wodurch merkt die VGU, „hoppla da sind jetzt Alphatest-Texturen“ ?? – ich würd ja auf irgendeine Z-Wert Veränderung tippen, was allerdings nichts mehr als ne Vermutung ist
2. Woher rührt der große Qualitätsunterschied zwischen TMAA und TSAA? – meine Vermutung hier: bei TSAA wird einfach stur für alle Pixel eines Dreiecks für jedes Sample ein Farbwert berechnet?!
3. Im Prinzip ist auch TSAA auch nur ein Multisampling, was halt nur extra auf Alphatest-Texturen anspringt?
4. Eine Frage zum Thema EER: Was genau ist es? – Das einzige was ich hierzu weiß, ist das es zur Beurteilung der AA-Qualität dient; was dann genau bedeutet das die AA-Qualität in zahlen ausgedrückt wird.
Was genau bedeuten diese dann? – und wie sind sie zu interpretieren?
5. etwas offtopic: Wie fängt man am besten mit HLSL an? Was ich meine ist, gibt’s da extra Lektüre dafür mit der sich halt ein noob (wie ich) erstmal auseinandersetzten sollte, damit er halt ne gute Grundlage hat um dann tiefer in die Materie einzusteigen? – oder ist da googeln angesagt *g*?

Danke für alle Antworten

GrUß

Xmas
2005-07-25, 17:43:22
1. Der Alpha-Test muss ja erst einmal von der Anwendung aktiviert werden, wenn Polygone mit Alpha-Test zu rendern sind. Transparenz-AA wird dann aktiviert wenn Alpha-Test an und Alpha-Blending aus ist (und noch in zwei anderen Fällen bei TSAA).
2. TSAA ist Supersampling, berechnet also für jedes Sample einen Farbwert. TMAA ist Alpha to Coverage, dazu gibt es schon ein paar Threads im Technologie-Forum.
3. TSAA ist Supersampling, weil es im Gegensatz zu Multisampling pro Sample einen Farbwert berechnet. Es springt außerdem nicht auf "Alphatest-Texturen" (sowas gibt es eigentlich nicht) an, sondern auf Alpha-Test, welcher vom im Shader berechneten Alpha-Wert abhängt (und dieser kann, muss aber nicht aus einer Textur stammen).
4. EER steht für Edge Equivalent Resolution. Im Grunde genommen das Ordered Grid, das in etwa dieselbe Glättungsqualität an fast-horizontalen oder -vertikalen Kanten zeigen würde.
5. Ein Anfang wären schon mal die Beispiele aus dem DirectX-SDK.

Mr. Lolman
2005-07-25, 17:43:28
4. Edge Equivalent Resolution. Damit ist die Anzahl der verwertbaren Samples in x und y Richtung gemeint:

http://www.3dcenter.org/images/anti-aliasing-masken/ogrg2.gif

Beide AA Modi haben ein 2x2 EER knapp horizontale/vertikale Kanten bekommen jew. eine Zwischenstufe.

http://www.forum-3dcenter.de/vbulletin/attachment.php?attachmentid=23267&stc=1

8xS AA -> 4x8EER: Horizontale Kanten bekommen max. 7 Zwischenstufen, vertikale 3.

Die Angabe des EER sagt somit nur etwas über die Kantenglättungsqualität aus und selbst da gibts gewisse Winkel wo ein OG mit gleichem EER besser ist, als ein RG. (zb. 45° Winkel von links oben nach rechts unten im 1. Beispiel) Andererseits würde die Normale zur gerade beschriebenen Kante beim 2xRG besser geglättet als beim 4xOG, aber das sind dann schon Spezialfälle.

Neomi
2005-07-25, 18:00:32
1. Eine Frage zu Transparenz-AA: wann und wodurch merkt die VGU, „hoppla da sind jetzt Alphatest-Texturen“ ?? – ich würd ja auf irgendeine Z-Wert Veränderung tippen, was allerdings nichts mehr als ne Vermutung ist

Ganz simpel durch den Alphatest-Renderstate. Die GPU merkt doch nicht am Ergebnis, was sie da eigentlich tut. Das Ergebnis hängt von dem ab, was sie tut, tun will und tun soll, und sie weiß genau, welche Settings aktiv sind.

2. Woher rührt der große Qualitätsunterschied zwischen TMAA und TSAA? – meine Vermutung hier: bei TSAA wird einfach stur für alle Pixel eines Dreiecks für jedes Sample ein Farbwert berechnet?!

Genau. Es ist Multisampling versus Supersampling.

3. Im Prinzip ist auch TSAA auch nur ein Multisampling, was halt nur extra auf Alphatest-Texturen anspringt?

Es ist gerade nicht Multisampling, sondern eben Supersampling. Die wirkliche Neuheit ist jetzt, daß die GPU das Verfahren für jeden Batch an Dreiecken neu bestimmen kann.

4. Eine Frage zum Thema EER: Was genau ist es? – Das einzige was ich hierzu weiß, ist das es zur Beurteilung der AA-Qualität dient; was dann genau bedeutet das die AA-Qualität in zahlen ausgedrückt wird.
Was genau bedeuten diese dann? – und wie sind sie zu interpretieren?

Edge equivalent Resolution. Bei einem geordneten 4x Raster sind X-Achse und Y-Achse jeweils 2x unterteilt, bei einem gedrehten Raster jeweils 4x. Das entspricht dann einer EER von 2x bzw. 4x.

5. etwas offtopic: Wie fängt man am besten mit HLSL an? Was ich meine ist, gibt’s da extra Lektüre dafür mit der sich halt ein noob (wie ich) erstmal auseinandersetzten sollte, damit er halt ne gute Grundlage hat um dann tiefer in die Materie einzusteigen? – oder ist da googeln angesagt *g*?

Such mal nach "FX Composer" bzw. "Rendermonkey", da dürftest du schon fündig werden...

eXodia
2005-07-25, 18:04:50
Danke, an alle!!
THX

Gast
2005-07-25, 18:20:32
wo wir grad dabei sind
was genau ist alpha blending?
und warum benutzen es so wenige entwickler wenn es so gute bildqualität hat

Grestorn
2005-07-25, 18:47:07
wo wir grad dabei sind
was genau ist alpha blending?
und warum benutzen es so wenige entwickler wenn es so gute bildqualität hat
Die Textur (bzw. das Ergebnis des Pixelshaders) enthält einen sog. Alphawert. Der gibt an, wie "durchsichtig" die Textur ist. Dadurch kann man bei teildurchsichtigen Texturen weiche Übergänge schaffen, wodurch das Problem, dass diese Texturen durch normalem AA nicht geglättet werden, mehr als ausgleichen kann.

Allerdings ist eine Voraussetzung für den Einsatz von Alpha-Blending, dass die Polygone von hinten nach vorne gerendert werden, also zuerst die Polygone, die am weitesten weg vom Betrachter sind und dann immer weiter nach vorne. Die Polygone müssen also abhängig von ihrer Z-Koordinate sortiert werden, was der Porzessor erledigen muss und was natürlich Performance kostet. Außerdem muss das der Programmierer auch beachten und nicht immer ist das in jeder Situation einfach zu machen.

Coda
2005-07-25, 18:52:08
Das Problem ist nicht nur die Sortierung vom Prozessor, sondern dass man die Geometrie nicht mehr optimiert im VRAM ablegen kann und stattdessen zumindest dynamische Indexbuffer verwenden muss.

Gast
2005-07-25, 18:57:02
Andererseits würde die Normale zur gerade beschriebenen Kante beim 2xRG besser geglättet als beim 4xOG, aber das sind dann schon Spezialfälle.

nö, 4xOG glättet niemals schlechter als 2xRG. im schlechtesten fall glättet es anähernd gleich gut (die "wichtigen" nicht mehr ganz horizontalen/vertikalen kanten), ansonsten glättet es etwas besser, was allerdings meistens den mehraufwand nicht rechtfertigen kann.

Das Problem ist nicht nur die Sortierung vom Prozessor, sondern dass man die Geometrie nicht mehr optimiert im VRAM ablegen kann und stattdessen zumindest dynamische Indexbuffer verwenden muss.

und man arbeitet gegen heute übliche early-z-verfahren.

Coda
2005-07-25, 18:58:32
und man arbeitet gegen heute übliche early-z-verfahren.
Beitrag melden Mit Zitat antwortenNein. Z-Writes sind bei Alphablending deaktiviert und die restliche Szene ist zu diesem Zeitpunkt ja normal schon gerendert.

D.h. es wird gleich viel verworfen wie wenn man von Vorne nach Hinten rendern würde.

Gast
2005-07-25, 19:08:18
Nein. Z-Writes sind bei Alphablending deaktiviert und die restliche Szene ist zu diesem Zeitpunkt ja normal schon gerendert.

D.h. es wird gleich viel verworfen wie wenn man von Vorne nach Hinten rendern würde.

aber in der regel kann man bei der sortierung doch nicht so genau sagen mit welchem dreieck geblendet werden muss (logisch, sonst bräuchte man ja keine sortierung ;) ), also muss zumindest ein großer teil der restlichen szene (ohne blending) auch back2front gerendert werden, wodurch dann beim rendern der restlichen szene (nicht beim blending selbst) deutlich mehr overdraw zu erwarten ist.

Neomi
2005-07-25, 19:11:33
aber in der regel kann man bei der sortierung doch nicht so genau sagen mit welchem dreieck geblendet werden muss (logisch, sonst bräuchte man ja keine sortierung ;) ), also muss zumindest ein großer teil der restlichen szene (ohne blending) auch back2front gerendert werden, wodurch dann beim rendern der restlichen szene (nicht beim blending selbst) deutlich mehr overdraw zu erwarten ist.

Nö, den "Rest" der Szene betrifft das nicht. Erst wird alles, was nicht transparent ist, von vorne nach hinten gezeichnet. Danach werden die transparenten Teile von hinten nach vorne drübergezeichnet, von solider Geometrie verdeckte transparente Flächen werden dabei verworfen.

Mr. Lolman
2005-07-25, 19:54:13
nö, 4xOG glättet niemals schlechter als 2xRG. im schlechtesten fall glättet es anähernd gleich gut (die "wichtigen" nicht mehr ganz horizontalen/vertikalen kanten), ansonsten glättet es etwas besser, was allerdings meistens den mehraufwand nicht rechtfertigen kann.


Falsch:

Hervorgehobene Stelle 2xRG: (0%-50%-100%) 4xOG: (0%-25%-100%):

Banshee18
2005-07-25, 20:01:01
Edge equivalent Resolution. Bei einem geordneten 4x Raster sind X-Achse und Y-Achse jeweils 2x unterteilt, bei einem gedrehten Raster jeweils 4x. Das entspricht dann einer EER von 2x bzw. 4x.
Das hier wäre doch auch ein rotated grid, oder? Man hat hier allerdings nur eine EER von 3x3.
http://img198.imageshack.us/img198/2294/unbenannt6ui.jpg ([URL=http://imageshack.us)
Besser ist der Ausdruck "sparse grid". D.h., dass man mit den vorhandenen Subpixeln die höchstmögliche EER hat.

Eine hohe EER bzw. sparse grid sagt aber immernoch nicht alles über die Qualität aus. Man stelle sich z.B. folgendes Muster vor:
http://img110.imageshack.us/img110/1700/unbenannt2zw.jpg (http://imageshack.us)
EER von 4x4 und trotzdem nicht sehr gut. Die Bilder sind mit Paint entstanden und sehr ungenau, aber ich glaube, man kann sich vorstellen, was ich damit zum Ausdruck bringen möchte.

MfG

Banshee

aths
2005-07-25, 22:54:42
Falsch:

Hervorgehobene Stelle 2xRG: (0%-50%-100%) 4xOG: (0%-25%-100%):Nix falsch. 4x OG enthält das 2x RG-Muster und glättet niemals schlechter als 2x RG.

aths
2005-07-25, 22:55:55
Das hier wäre doch auch ein rotated grid, oder? Man hat hier allerdings nur eine EER von 3x3.
http://img198.imageshack.us/img198/2294/unbenannt6ui.jpg ([URL=http://imageshack.us)
Besser ist der Ausdruck "sparse grid". D.h., dass man mit den vorhandenen Subpixeln die höchstmögliche EER hat.Das ist ein schlechtes Muster, da eine nur leicht gedrehte Kante (von 90° ausgehend) ungleichmäßige Intensitätsstufen hätte. Dieses konkrete Muster hat außerdem nicht mal eine 3x3-EER.

Eine hohe EER bzw. sparse grid sagt aber immernoch nicht alles über die Qualität aus. Man stelle sich z.B. folgendes Muster vor:
http://img110.imageshack.us/img110/1700/unbenannt2zw.jpg (http://imageshack.us)
EER von 4x4 und trotzdem nicht sehr gut. Die Bilder sind mit Paint entstanden und sehr ungenau, aber ich glaube, man kann sich vorstellen, was ich damit zum Ausdruck bringen möchte.Dieses Muster hat keine EER von 4x4. Siehe auch hier: http://www.3dcenter.org/artikel/anti-aliasing-masken/index3.php

Mr. Lolman
2005-07-25, 23:40:53
Nix falsch. 4x OG enthält das 2x RG-Muster und glättet niemals schlechter als 2x RG.

Attachments angesehen?

http://www.forum-3dcenter.de/vbulletin/showthread.php?p=3298777#post3298777

Coda
2005-07-25, 23:57:56
0-25-100% ist korrekter für eine exakt 45° steigende Linie Lolman.

Banshee18
2005-07-26, 00:27:56
Das ist ein schlechtes Muster, da eine nur leicht gedrehte Kante (von 90° ausgehend) ungleichmäßige Intensitätsstufen hätte. Dieses konkrete Muster hat außerdem nicht mal eine 3x3-EER.

Ich sage ja nicht, dass es ein gutes Muster ist. Klar ist das schlecht. Aber ich verstehe nicht, warum es keine 3x3 EER haben sollte. :confused:
http://img63.imageshack.us/img63/1917/unbenannt19dn.jpg (http://imageshack.us)
Imho eindeutig 3x3, wenn man die zeichnerische Ungenauigkeit außer Acht lässt. (Ich hab das Bild nochmal frisch gemacht, ist also nicht 100% gleich)
Ich wollte ja nur sagen, dass es auch ein rotated grid ist.

Dieses Muster hat keine EER von 4x4. Siehe auch hier: http://www.3dcenter.org/artikel/anti-aliasing-masken/index3.php

Siehe oben. Das sollte doch 4x4 sein. Die Subpixel sind halt sehr nahe beieinander.

Bitte klär mich mal auf. Den Artikel hab ich schon längst gelesen.

Edit: Dein Link zeigt ja sogar das obrige Muster.

aths
2005-07-26, 03:13:08
Ich sage ja nicht, dass es ein gutes Muster ist. Klar ist das schlecht. Aber ich verstehe nicht, warum es keine 3x3 EER haben sollte. :confused:
http://img63.imageshack.us/img63/1917/unbenannt19dn.jpg (http://imageshack.us)
Imho eindeutig 3x3, wenn man die zeichnerische Ungenauigkeit außer Acht lässt. (Ich hab das Bild nochmal frisch gemacht, ist also nicht 100% gleich)
Ich wollte ja nur sagen, dass es auch ein rotated grid ist.Die Abstände müssen stimmen – nur dass man jede Achse 3x abtastet, sagt nicht zur EER in dem Sinne, wie es in meinen Artikeln verwendet wird.


Siehe oben. Das sollte doch 4x4 sein. Die Subpixel sind halt sehr nahe beieinander.Genau deshalb ist es keine 4x4 EER. Im Extremfall wären alle Subpixel an der gleichen Stellen, dann hat man gar kein Antialiasing. Sind die Subpixel nur minimal auseinander, ist auch die Glättung minimal. Eine EER von 4x4 glättet da in jedem Fall deutlich besser, denn da würde pro Achse 4x mal in gleichen Abständen abgetastet.

Xmas
2005-07-26, 03:19:27
Siehe oben. Das sollte doch 4x4 sein. Die Subpixel sind halt sehr nahe beieinander.
Und deshalb ist es eben kein 4x4 EER.
4. EER steht für Edge Equivalent Resolution. Im Grunde genommen das Ordered Grid, das in etwa dieselbe Glättungsqualität an fast-horizontalen oder -vertikalen Kanten zeigen würde.
Dazu gehört auch, dass die Samplepunkte gleichmäßig auf den Achsen verteilt sind, über Pixelgrenzen hinweg.

Attachments angesehen?

http://www.forum-3dcenter.de/vbulletin/showthread.php?p=3298777#post3298777
Das ist nicht schlechter geglättet.

Cyv
2005-07-26, 10:55:55
Ich blick da auch was nicht.
SSAA 2x2=4x klar.
Aber wo ist jetzt der unterschied zu 4xS (combined)
Kann mir jemand Combined erklären`?
Danke

Coda
2005-07-26, 14:29:23
4xS ist 2x MSAA + 1x2 SSAA

Grestorn
2005-07-26, 14:37:04
Ich blick da auch was nicht.
SSAA 2x2=4x klar.
Aber wo ist jetzt der unterschied zu 4xS (combined)
Kann mir jemand Combined erklären`?
Danke
Wenn Du einigermaßen englisch lesen kannst, dann lies Dir das hier durch: www.nhancer.com/help/AA.php

Cyv
2005-07-26, 14:40:52
Wenn Du einigermaßen englisch lesen kannst, dann lies Dir das hier durch: www.nhancer.com/help/AA.php
Hab ich noch gar nich genauer betrachtet. Genau sowas hab ich gesucht ;)
thx

Mr. Lolman
2005-07-26, 15:02:44
Das ist nicht schlechter geglättet.

Ok, gut zu wissen, dass Atis 2xAA tw. besser ist als NVs 8xS:

Coda
2005-07-26, 15:04:52
Da spielt die Gammakorrektur ja mit rein bei ATi. Also kann man das bei diesem Winkel vielleicht sogar sagen.

Raff
2005-07-26, 15:06:00
Beachtet man die SSAA-bedingte Wirkung auf Alphatests und Texturen, würde ich das aber nicht sagen. :) In einem Spiel, das gänzlich ohne AT, Bump-Mapping oder Pixel-Shading auskommt, ist ATis AA dann aber wohl minimal besser ... X-D

MfG,
Raff

Mr. Lolman
2005-07-26, 15:21:25
Beachtet man die SSAA-bedingte Wirkung auf Alphatests und Texturen, würde ich das aber nicht sagen. :)

Deswegen schrieb ich auch "tw" (teilweise) ;)

Raff
2005-07-26, 15:24:31
Yep, schon klar. :)
Dennoch: Wer ATis 6xMSAA (oder gar 2x ;)) nVIDIAs 8xS vorzieht, den kann ich nicht verstehen. Letzteres ist ein exzellenter Kompromiss aus Leistungshunger und hochkarätiger Glättungsqualität (auch wenn ersteres schneller ist).

MfG,
Raff

ShadowXX
2005-07-26, 15:24:40
Beachtet man die SSAA-bedingte Wirkung auf Alphatests und Texturen, würde ich das aber nicht sagen. :) In einem Spiel, das gänzlich ohne AT, Bump-Mapping oder Pixel-Shading auskommt, ist ATis AA dann aber wohl minimal besser ... X-D

MfG,
Raff

Wieso...bei der 7800GTX kannst du ja auch Gammajustierung zuschalten.

Mr. Lolman
2005-07-26, 15:50:40
Yep, schon klar. :)
Dennoch: Wer ATis 6xMSAA (oder gar 2x ;)) nVIDIAs 8xS vorzieht, den kann ich nicht verstehen. Letzteres ist ein exzellenter Kompromiss aus Leistungshunger und hochkarätiger Glättungsqualität (auch wenn ersteres schneller ist).


Naja ein Alphatest-EER von 1x2 ist zwar besser als 1x1 aber hochkarätig wird die Glättungsqualität dadurch auch nicht. Exzellent wär der kompromiss imo nur bei einem RGSS

aths
2005-07-26, 15:57:13
Wieso...bei der 7800GTX kannst du ja auch Gammajustierung zuschalten.Da spielt die Gammakorrektur ja mit rein bei ATi. Also kann man das bei diesem Winkel vielleicht sogar sagen.Die Gamma-JUSTIERUNG, nicht die Korrektur.

Sorry für die brüllige Formatierung, aber ich bestehe darauf, dass da nicht "Gammakorrektur" gesagt wird. Meinetwegen auch "Gamma-Anpassung", aber "Korrektur" stimmt nicht da das Verfahren eben nicht korrekt ist.

Außerdem ist der Begriff "Gammakorrektur" bereits für etwas anderes belegt. Gammakorrektur gibts auch im 2D-Modus, und im 3D-Modus mit oder ohne Antialiasing.

aths
2005-07-26, 16:00:57
Ok, gut zu wissen, dass Atis 2xAA tw. besser ist als NVs 8xS:Das kann man dem Bild nicht entnehmen. Welches Bild richtiger ist, hängt von der genauen Lage der Linie ab. Es kann durchaus sein, dass das untere Bild richtiger ist.

Mr. Lolman
2005-07-26, 16:05:21
Das kann man dem Bild nicht entnehmen. Welches Bild richtiger ist, hängt von der genauen Lage der Linie ab. Es kann durchaus sein, dass das untere Bild richtiger ist.

Dann müsste das 4xOG ja auch anders aussehen...

Banshee18
2005-07-26, 16:10:03
Die Abstände müssen stimmen – nur dass man jede Achse 3x abtastet, sagt nicht zur EER in dem Sinne, wie es in meinen Artikeln verwendet wird.

Ich dachte bisher eigentlich immer, dass die EER die Abtastrate ist. In deinen Artikeln kommt das iirc so rüber. Sind die Artikel da also ein wenig ungenau oder hab ich das falsch in Erinnerung? Wie müssen denn die Abstände sein? Einfach nur gleichmäsig?

aths
2005-07-26, 16:13:22
Dann müsste das 4xOG ja auch anders aussehen...Einmal hast du die linke, einmal die rechte Hälfte verglichen. Es könnte sein, dass die Linien ein klein wenig anders liegen.

8xS hat eine insgesamt bessere Pixel-Coverage als 4x OG. In einigen Sonderfällen kann 8xS auch "ausgetrickst" werden und 4x OG liefert das als besser empfundene Bild. Insgesamt ist 8xS natürlich besser als 4x OG, erst recht als 2x RG. Da bringt es nichts, wenn irgendwelche ganz seltenen Sonderfälle konstruiert werden. 2x RG glättet z. B. nur zwei der vier möglichen 45°-Ausrichtungen, die anderen beiden werden von 2x RG logischerweise gar nicht geglättet.

Coda
2005-07-26, 16:14:02
Dann müsste das 4xOG ja auch anders aussehen...Ich würde einfach mal eins mit 16x Supersampling machen, dann weißt du was richtig ist ;)

aths
2005-07-26, 16:14:53
Ich dachte bisher eigentlich immer, dass die EER die Abtastrate ist. In deinen Artikeln kommt das iirc so rüber. Sind die Artikel da also ein wenig ungenau oder hab ich das falsch in Erinnerung? Wie müssen denn die Abstände sein? Einfach nur gleichmäsig?In meinen Artikeln kommt das durchaus rüber. Ich verweise noch mal auf diese Seite: http://www.3dcenter.org/artikel/anti-aliasing-masken/index3.php

Mr. Lolman
2005-07-26, 16:16:13
Ich würde einfach mal eins mit 16x Supersampling machen, dann weißt du was richtig ist ;)

Stimmt. Kommt sofort =)

Mr. Lolman
2005-07-26, 16:18:35
Einmal hast du die linke, einmal die rechte Hälfte verglichen.

Stimmt. Aber man kann ja die anderen Linien selbst auch auf 400% vergößern...

Es könnte sein, dass die Linien ein klein wenig anders liegen.

Dann muss die UT Engine aber pfuschen.

Banshee18
2005-07-26, 16:25:24
Okay, ich sollte das ganze Zeug wirklich mal wieder auffrischen, bevor ich hier weiter Mist verzapfe und du dich wieder aufregen musst, dass du dir so viel Mühe machst und die Artikel nichteinmal richtig gelesen werden. :biggrin: ;)

Zu deiner Beruhigung: Ich hab sie sehr gründlich gelesen, allerdings ist das schon ein Weilchen her und damals hatte ich noch weniger Ahnung als jetzt.

*lesen geh*

MfG

Banshee

Mr. Lolman
2005-07-26, 16:29:25
Ok sie ist anscheinend wirklich etwas verschoben. Mist. Sry *schäm* Ich mach gleich neue Pics...

/edit: Doch nicht ganz allein meine Schuld. Irgendwas liegt da im Argen.