PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Diskussion zu: Transparenz-Antialiasing auf der GeForce6


Leonidas
2006-10-12, 15:22:35
Link:
http://www.3dcenter.org/artikel/2006/10-12.php

deekey777
2006-10-12, 15:32:32
Da ist ein Weiter-Button, der ins Nichts führt.

Kann man bei nVidia TMSAA und TSSAA miteinander kombinieren? Denn bei ATi gibt es neben ASTT noch das ASBT, womit zB Blutspritzer in HL2 oder einige Objekte in R6: Raven Shield anti-aliasiert werden.
Ohne und mit ASBT (auf die Blutspritzer auf der Wand achten):
http://img468.imageshack.us/img468/5817/d1canals01a0000ee8.th.jpg (http://img468.imageshack.us/my.php?image=d1canals01a0000ee8.jpg)
http://img162.imageshack.us/img162/1406/d1canals01a0001ec2.th.jpg (http://img162.imageshack.us/my.php?image=d1canals01a0001ec2.jpg)
In Bewegung fällt es extrem auf, da ohne ASBT diese Blutspritzer flimmern.

Mr. Lolman
2006-10-12, 15:53:16
Natürlich gehen beide Glättungsmethoden zulasten der Geschwindigkeit - doch der Qualitätsgewinn ist je nach Spiel erheblich. Wer eine GeForce 6600 GT hat und eigentlich mit 4x Multisampling spielt, muss für TAA-SS vielleicht auf 2x herunterschalten: Dafür ist dann aber das gesamte Bild geglättet. In der Regel ist der Geschwindigkeitsverlust aber erträglich, so dass man auch mit 4x TAA-SS spielen kann, falls es vorher für 4x Multisampling gereicht hat.

Dies gilt nur, solang nicht allzuviel zum Glätten da ist. Da wo wirklich benötigt wird, (z.B: bei den Wiesen von Serious Sam 2) kostet es auch ordentlich. Imo kann man eher sagen, dass an den Stellen wo 8xS vorher ordentlich lief, 4xTSSAA auch ordentlich laufen wird. (wobei es immernoch deutlich langsamer werden kann als 8xS ohne TSSAA)

NiCoSt
2006-10-12, 16:51:12
habs gerade mal mit mafia getestet. Auffällig ist das nun auch die Kabel nichtmehr so krasse "Lücken" haben und smoother aussehen. Ansonsten hier noch kurz ein paar (aus langer weile eben enstandene) screens:

http://home.arcor.de/moddingtech/Ohne.JPG
http://home.arcor.de/moddingtech/mit.JPG
http://home.arcor.de/moddingtech/Bild6.jpg
http://home.arcor.de/moddingtech/Bild8.jpg

E: Bilder sind bei 4xAA/16xAF entspanden auf na GF6800

BlackArchon
2006-10-12, 17:06:08
Vorletzter Abschnitt, 'Und was bietet ATI?', da steht: 'Bei ATI funktioniert AAA offiziell ab der Radeon X1000 Serie, tatsächlich aber kann schon eine Radeon 9700 AAA anbieten.' Das stimmt so nicht, mit einem der letzten Catalysts wurde AAA offiziell auch für Karten ab dem R300 freigeschaltet.

Gast
2006-10-12, 17:18:19
Ja, seit Cat 6.5.

RavenTS
2006-10-12, 17:54:52
habs gerade mal mit mafia getestet. Auffällig ist das nun auch die Kabel nichtmehr so krasse "Lücken" haben und smoother aussehen. Ansonsten hier noch kurz ein paar (aus langer weile eben enstandene) screens:

http://home.arcor.de/moddingtech/Ohne.JPG
http://home.arcor.de/moddingtech/mit.JPG
http://home.arcor.de/moddingtech/Bild6.jpg
http://home.arcor.de/moddingtech/Bild8.jpg

E: Bilder sind bei 4xAA/16xAF entspanden auf na GF6800

Ein Shot von diesen Kabeln haste nicht zufällig, erinnert mich spontan an das hier:
http://www.kultloesungen.de/action/trespasser/Fehlstrom.jpg
Da kann man aber glaub selbst mit TAA nicht mehr viel machen :rolleyes:

Sonst schöner Artikel, ein paar Benchmarkzahlen wären zwar auch nicht schlecht, aber man kann ja nüch alles haben...

Leonidas
2006-10-12, 19:58:37
Da ist ein Weiter-Button, der ins Nichts führt.



Gefixt.

NiCoSt
2006-10-12, 20:49:57
Ein Shot von diesen Kabeln haste nicht zufällig, erinnert mich spontan an das hier:
http://www.kultloesungen.de/action/trespasser/Fehlstrom.jpg
Da kann man aber glaub selbst mit TAA nicht mehr viel machen :rolleyes:

Sonst schöner Artikel, ein paar Benchmarkzahlen wären zwar auch nicht schlecht, aber man kann ja nüch alles haben...

nein, aber ich hab beobachtet, dass die kabel _etwas_ besser aussehen. Auf den Screenys erkennt man, wenn man ganz genau hinsieht, dass bei aktiviertem TAA ein paar pixel zu sehen sind, wo im hintergrund kabel sei müssten. Für mich als Laie heißt das, dass wohl etwas mehr pixeln an kabeln tatsächlich erscheinen und mein subjektives guckn recht hat ;)

und btw find ich das mal richtig klasse. Zieht z.b. in mafia keine nennenswerte performance aber dafür mehr glättung an eben solchen stellen. Is doch mal was sinnvolles ;)

Raff
2006-10-12, 21:09:26
Vorletzter Abschnitt, 'Und was bietet ATI?', da steht: 'Bei ATI funktioniert AAA offiziell ab der Radeon X1000 Serie, tatsächlich aber kann schon eine Radeon 9700 AAA anbieten.' Das stimmt so nicht, mit einem der letzten Catalysts wurde AAA offiziell auch für Karten ab dem R300 freigeschaltet.



Jo. Und das bedeutet: ab Radeon 9500.



MfG,
Raff

paul.muad.dib
2006-10-12, 22:11:38
In der Regel ist der Geschwindigkeitsverlust aber erträglich, so dass man auch mit 4x TAA-SS spielen kann, falls es vorher für 4x Multisampling gereicht hat

In Zusammenfassung der Kapitel zum Adaptive Anti-Aliasing von ATI und zum Transparenz Anti-Aliasing von nVidia läßt sich sagen, daß der Effekt dieser beiden Features auf die Performance zumindestens gemäß unserer Messungen deutlich höher ist als bisher von Timedemo-Messungen bekannt. Gemäß unserer Messungen kostet die Aktivierung dieser Features grob gesehen um die 30 Prozent, in einigen Spielen auch mehr. Damit sind diese beiden neuen Möglichkeiten ganz gewiß keine Nebenbeiher-Features, die man bedenkenlos aktivieren kann (wie früher auch unsererseits falsch vermittelt).

Was denn jetzt?

In Settings wo es was bringt kostet es ja scheinbar doch viel Geschwindigkeit. Dass bei wenig Alphatests nur geringe Einbußen da sind, ist auch klar, aber dann sind eben die optischen Vorteile auch gering.

Black-Scorpion
2006-10-13, 12:31:25
Jo. Und das bedeutet: ab Radeon 9500.



MfG,
Raff
Es doch garnicht um 9700 oder 9500 sondern darum das es seit Cat6.5? offiziell für R300 freigeschaltet ist.

NiCoSt
2006-10-13, 13:27:38
hab mal in codecreatures getestet:

Mit 4xAA/16xAF UND TAA-SS: total: 3005
Ohne mit gleichem AA/AF: 3795

also rund 20-25% einbuße...

aths
2006-10-13, 16:28:54
Was denn jetzt?

In Settings wo es was bringt kostet es ja scheinbar doch viel Geschwindigkeit. Dass bei wenig Alphatests nur geringe Einbußen da sind, ist auch klar, aber dann sind eben die optischen Vorteile auch gering.Wenn es sehr viele Alphatests gibt, ist der Geschwindigkeitseinbruch natürlich deutlich. In der Regel wird Alphatest nur hier und dort genutzt, stört aber trotzdem gewaltig. Dann kann man TAA-SS zuschalten und bekommt deutlich bessere Grafik, ohne gleich in unspielbare fps-Regionen zu gelangen.

Wenn ich das noch anmerken darf: Du meinst "anscheindend", nicht "scheinbar". Scheinbar heißt, dass etwas nur den Schein hat aber in Wahrheit ganz anders ist. Mit anscheinend drückt man aus, dass etwas den Anschein erweckt, ohne eine Beurteilung abzugeben ob der Schein trügt oder nicht.

paul.muad.dib
2006-10-13, 16:39:34
Wenn ich das noch anmerken darf: Du meinst "anscheindend", nicht "scheinbar". Scheinbar heißt, dass etwas nur den Schein hat aber in Wahrheit ganz anders ist. Mit anscheinend drückt man aus, dass etwas den Anschein erweckt, ohne eine Beurteilung abzugeben ob der Schein trügt oder nicht.

Danke für den Hinweis. Deshalb liebe ich die deutsche Sprache, weil sie so präzise ist und so feine Nuancen bietet.

Wolfram
2006-10-14, 01:46:52
Wow. Das wußte ich auch noch nicht. Habe ich mein ganzes Leben lang falsch verwendet... bitter... wo ist der Strick?:biggrin: Aber im Ernst: Dank an aths, auch wenn ich sicherheitshalber noch im Duden nachgeschaut habe.

Eigentlich wollte ich aber etwas ganz anderes, nämlich ein paar Fragen zu diesem Abschnitt loswerden:

ATIs AAA basiert ausschließlich auf der Supersampling-Methode. Wenn man 6x Multisampling aktiviert hat, kann man adaptives 6x Supersampling aktivieren, aber auch weniger Supersampling-Subsamples nutzen.
Bis dahin hatte ich immer eine diffuse Vorstellung, das "Performance"-AAA sei ähnlich wie TAA-MS gestrickt- egal. Jedenfalls habe ich dazu die SuFU bemüht und danach scheint es doch eher so zu sein, daß man in der Registry einen Teiler setzen kann, der die Zahl der Samples ausgehend von gewählten AAA-Grad definiert- also 4x AAA plus Teiler 2 ergibt 2x Supersampling, 6xAAA plus Teiler 2... 3x?. Schon wieder vergessen habe ich jetzt, wieviele Samples im jeweiligen Performance-Modus per CCC verwendet werden. Jedenfalls könnte man das an dieser Stelle IMO zwei Sätze mehr dazu schreiben, zumal das nicht unbedingt leicht ergooglebare Information ist.

Und hierzu

Leider setzen viele Spiele aus Performancegründen heute noch auf reines Alphatesting.
habe ich auch noch eine Frage: Was heißt "noch"? So wie ich das bis jetzt verstanden habe, kostet Alphablending viel Leistung, wird das bei komplexen Objekten wie Bäumen in Zukunft nicht noch schlimmer?

Ach ja, und eins ist noch ulkig: Die Abkürzungen:

Zudem gibt es bei dem Transparenz-Antialiasing von nVidia zwei unterschiedliche Verfahren: Einmal mit Supersampling, welches wir nachfolgend TAA-SS oder TSSAA nennen - und eines mit Multisampling, welches wir entsprechend TAA-MS oder TMSAA nennen.
Gut ist schon, jeweils zwei Abkürzungen einzuführen. Dann auch noch für einen ein-Seiten-Artikel. Und dann werden "TSSAA" und "TMSAA" gar nicht verwendet :biggrin:

Gast
2006-10-14, 11:18:56
netter artikel, ich hätte mir vielleicht gewünscht endlich zu erfahren wie TMSAA bzw. alpha2coverage eigentlich funktioniert, bis jetzt hab ich jedenfalls nirgends einen entsprechenden artikel gefunden.

aber das kann ja auch noch zu einem späteren zeitpunkt erfolgen.

Gast
2006-10-14, 11:24:52
Mit meiner 6800 nutze ich TAA schon länger. Allerdings ist mir folgendes aufgefallen: Bei Texturen die transparent sind entsteht so eine art "Z-Fighting". So ein Flimmern was auch manchmal auftritt wenn 2 Texturen genau übereinanderliegen und dann abwechselnd durchscheinen.

Beobachten kann man das z.b. in WoW bei Einheiten die im Verstohlenheitsmodus sind, also halb transparent sind (Die Pets der Jäger manchmal).
In der Anno 1701 Demo hatte ich das bei den Schatten der Bäume. Beim zoomen flimmerten die sehr stark.

Nun frage ich mich ob das nur an meinen System liegt oder auch bei anderen auftritt.

aths
2006-10-14, 12:34:05
netter artikel, ich hätte mir vielleicht gewünscht endlich zu erfahren wie TMSAA bzw. alpha2coverage eigentlich funktioniert, bis jetzt hab ich jedenfalls nirgends einen entsprechenden artikel gefunden.Na er macht aus Alpha-Informationen Coverage-Informationen. Bei z. B. einer Sichtbarkeit von 0,25 wird bei 4x MSAA ein Subpixel als bedeckt und drei werden als durchsichtig behandelt. Welche Subpixel er dafür aussucht? Das dürfte er, zumal mit dem Dithering, einfach nach einem Ordered-Grid-Raster entscheiden.

aths
2006-10-14, 14:03:04
Bis dahin hatte ich immer eine diffuse Vorstellung, das "Performance"-AAA sei ähnlich wie TAA-MS gestrickt- egal. Jedenfalls habe ich dazu die SuFU bemüht und danach scheint es doch eher so zu sein, daß man in der Registry einen Teiler setzen kann, der die Zahl der Samples ausgehend von gewählten AAA-Grad definiert- also 4x AAA plus Teiler 2 ergibt 2x Supersampling, 6xAAA plus Teiler 2... 3x?. Schon wieder vergessen habe ich jetzt, wieviele Samples im jeweiligen Performance-Modus per CCC verwendet werden. Jedenfalls könnte man das an dieser Stelle IMO zwei Sätze mehr dazu schreiben, zumal das nicht unbedingt leicht ergooglebare Information ist. Die Performance-Methode bei ATI ist weiterhin TAA-SS. Für TAA-MS braucht man Alpha-to-Coverage. Das kann der Chip zwar auch, aber ohne Dithering.

Und hierzu

habe ich auch noch eine Frage: Was heißt "noch"? So wie ich das bis jetzt verstanden habe, kostet Alphablending viel Leistung, wird das bei komplexen Objekten wie Bäumen in Zukunft nicht noch schlimmer?Klar kostet Alphablending Leistung. Aber Alphatesting ist eine Methode, die mit Texturen und Texturfilterung einfach nicht vernünftig funktioniert. Beim AF wird es noch schlimmer. Alphatesting (ohne Blending) gehört verbannt.

Die vielen Maschendrahtzäune bei HL2 zum Beispiel finde ich indiskutabel. Das flimmert schön vor sich hin, oft sieht man in der Textur gar keinen Draht mehr (weil der praktisch weggemippt ist) – das mag schnell sein, aber das Ergebnis ist aus meiner Sicht unbrauchbar. Mit Alphablending könnte man auch "ein wenig Draht pro Texel" realisieren.

Ach ja, und eins ist noch ulkig: Die Abkürzungen:

Gut ist schon, jeweils zwei Abkürzungen einzuführen. Dann auch noch für einen ein-Seiten-Artikel. Und dann werden "TSSAA" und "TMSAA" gar nicht verwendet :biggrin:Ja, die Abkürzungen wurden damit praktisch offiziell 3DCenter-weit eingeführt. Viele Sachen sind nicht fest definiert, zum Beispiel was beim Antialiasing "sparse" genau heißt und wie streng man "EER" auslegt. Wenn ich darauf Wert lege, zwischen MS- und SS-Methode zu unterscheiden, nutze ich TAA-xx. Erwähne ich einfach einen bestimmten Modus, würde ich der besseren Lesbarkeit die TxxAA-Bezeichnung verwenden, die kürzer ist und sich schneller schreiben lässt.

Gast
2006-10-14, 14:37:13
Vom Sprachfluss her würde ich Transparency Multisampling AA eher als TMS AA bzw. TSS AA für Supersampling verwenden.

Wolfram
2006-10-14, 14:50:49
Die vielen Maschendrahtzäune bei HL2 zum Beispiel finde ich indiskutabel. Das flimmert schön vor sich hin, oft sieht man in der Textur gar keinen Draht mehr (weil der praktisch weggemippt ist) – das mag schnell sein, aber das Ergebnis ist aus meiner Sicht unbrauchbar. Mit Alphablending könnte man auch "ein wenig Draht pro Texel" realisieren.
Die Zäune, klar. Ich hatte mich nur an ein Posting (von Coda?) erinnert, in dem mE angedeutet wurde, daß Alphablending bei komplexen Bäumen zB aus Performancegründen keine Lösung sein könne. Wenn ich's richtig verstanden habe.

Raff
2006-10-14, 15:28:56
Die Zäune, klar. Ich hatte mich nur an ein Posting (von Coda?) erinnert, in dem mE angedeutet wurde, daß Alphablending bei komplexen Bäumen zB aus Performancegründen keine Lösung sein könne. Wenn ich's richtig verstanden habe.

Naja, wenn man stattdessen Alphatesting nutzt und dieses dann gezwungenermaßen mit (adaptivem) SSAA glätten muss, könnte man ja überlegen, gleich Alphablending zu nutzen.

MfG,
Raff

Wolfram
2006-10-14, 15:37:34
Naja, wenn man stattdessen Alphatesting nutzt und dieses dann gezwungenermaßen mit (adaptivem) SSAA glätten muss, könnte man ja überlegen, gleich Alphablending zu nutzen.

Wobei die interessante Frage wäre, was dann beim komplexen Objekten schneller ist.

Mr. Lolman
2006-10-14, 16:00:23
Naja, wenn man stattdessen Alphatesting nutzt und dieses dann gezwungenermaßen mit (adaptivem) SSAA glätten muss, könnte man ja überlegen, gleich Alphablending zu nutzen.

MfG,
Raff

Kommt drauf an, was du machen willst. Einen Baum könnte man so modellieren, dass er auch mit Alphablending schön und artefaktfrei aussieht. (wie mans nicht machen sollte, zeigt GTA-SA, wo man an den Texturkanten üble Blendingfehler hat). Sobald du aber eine Wiese hast auf dem ein Baum (mit alpha-geblendeten-Ästen) steht, geht das schon nicht mehr, weil du jedes Grasbüschel einzeln sortieren müsstest, und nicht mehr die gesamte Wiese als Layer mit zufällig verteilten Objekten rendern könntest. Das würde dann den CPU-Load explodieren lassen.
Hier in dem Thread hab ich mich mit aths ziemlich genau über Implementationsprobleme von Alphablending unterhalten: http://www.forum-3dcenter.org/vbulletin/showthread.php?p=2940691#post2940691

aths
2006-10-15, 14:24:45
Kommt drauf an, was du machen willst. Einen Baum könnte man so modellieren, dass er auch mit Alphablending schön und artefaktfrei aussieht. (wie mans nicht machen sollte, zeigt GTA-SA, wo man an den Texturkanten üble Blendingfehler hat). Sobald du aber eine Wiese hast auf dem ein Baum (mit alpha-geblendeten-Ästen) steht, geht das schon nicht mehr, weil du jedes Grasbüschel einzeln sortieren müsstest, und nicht mehr die gesamte Wiese als Layer mit zufällig verteilten Objekten rendern könntest. Das würde dann den CPU-Load explodieren lassen.Durch Vorsortierung wäre das in den Griff zu bekommen. Man muss nicht jeden Grasbüschel einzeln sortieren.

Mit meiner 6800 nutze ich TAA schon länger. Allerdings ist mir folgendes aufgefallen: Bei Texturen die transparent sind entsteht so eine art "Z-Fighting". So ein Flimmern was auch manchmal auftritt wenn 2 Texturen genau übereinanderliegen und dann abwechselnd durchscheinen.

Beobachten kann man das z.b. in WoW bei Einheiten die im Verstohlenheitsmodus sind, also halb transparent sind (Die Pets der Jäger manchmal).
In der Anno 1701 Demo hatte ich das bei den Schatten der Bäume. Beim zoomen flimmerten die sehr stark.

Nun frage ich mich ob das nur an meinen System liegt oder auch bei anderen auftritt.Ich weiß jetzt nicht, was du meinst (habe nur WoW und kein Anno, und in WoW die beschriebenen Sachen noch nicht gesehen.) Tritt das Z-Fighting nur bei aktiviertem TAA auf?

aths
2006-10-15, 14:26:09
Die Zäune, klar. Ich hatte mich nur an ein Posting (von Coda?) erinnert, in dem mE angedeutet wurde, daß Alphablending bei komplexen Bäumen zB aus Performancegründen keine Lösung sein könne. Wenn ich's richtig verstanden habe.Naja, wenn man stattdessen Alphatesting nutzt und dieses dann gezwungenermaßen mit (adaptivem) SSAA glätten muss, könnte man ja überlegen, gleich Alphablending zu nutzen.TSSAA kann sogar schneller sein, aber liefert nicht die Qualität von Alphablending.

Gast
2006-10-15, 15:23:08
Tritt das Z-Fighting nur bei aktiviertem TAA auf?
Ja und auch nur bei Supersampling. Multisampling flimmert nicht, sieht aber auch nicht so toll aus.

Man sieht es z.B. auch an den Haaren wenn man dichter an seinen Char ranzoomt und dieser anfängt transparent zu werden.

Gast
2006-10-15, 15:30:02
Ich hab mal nen Screen gemacht. Ist auf 200% vergrößert:
http://img138.imageshack.us/img138/5613/wowscrnshot101506152441pa6.png

Mr. Lolman
2006-10-15, 17:17:51
Durch Vorsortierung wäre das in den Griff zu bekommen. Man muss nicht jeden Grasbüschel einzeln sortieren.


Gibts irgendeine Engine, die das unterstüzt?

sunshine
2006-10-15, 19:33:01
Beim Fazit:

"Sowohl ATI als auch Nvidia nutzen ihre Verfahren zur Verbesserung des gesamtes Bildes als Marketing-Instrument für akutelle Grafikchips, dabei.."

aths
2006-10-16, 15:40:53
Gibts irgendeine Engine, die das unterstüzt?Davon gehe ich aus. Jedes Grasbüscheln einzeln zu sortieren dürfte beim Codecreatures-Benchmarks die CPU überfordern. Der Codecreatures-Bench rendert allerdings auch "Blades", also lange Strecken mit Gras. Dabei könnte man in so einen Blade statt einzelner Halme auch einzelne Büschel setzen.

Ja und auch nur bei Supersampling. Multisampling flimmert nicht, sieht aber auch nicht so toll aus.

Man sieht es z.B. auch an den Haaren wenn man dichter an seinen Char ranzoomt und dieser anfängt transparent zu werden.Interessant. Es müsste dann auch bei entsprechend hohen Auflösungen zu Z-Fighting kommen.

Mr. Lolman
2006-10-16, 16:42:35
Davon gehe ich aus. Jedes Grasbüscheln einzeln zu sortieren dürfte beim Codecreatures-Benchmarks die CPU überfordern. Der Codecreatures-Bench rendert allerdings auch "Blades", also lange Strecken mit Gras. Dabei könnte man in so einen Blade statt einzelner Halme auch einzelne Büschel setzen.


Bei Coecreatures gibts nichtmal nen Grund was zu sortieren. Die haben nur einen Layer in dem Alphablending zum Einsatz kommt, keinen Texturwechsel und der Rest der Vegetation nutzt Alphatests. Simples Back2Front Rendering (bei dem die Wiese zuletzt berechnet wird) reicht da vollkommen aus...

aths
2006-10-16, 18:58:20
Die Wiese besteht aus mehreren Blades. So erspart man sich, einzelne Büschel zu rendern. Die Blades sind vermutlich vorsortiert so dass man bei freier Beweglichkeit je nach Winkel nur die Objekte aus der Liste aufsteigend oder absteigend rendern muss. (Sofern das Gras da kein Alphablending nutzt, das weiß ich jetzt nicht mal, könnte man mit einer Vorsortierung immerhin etwas Füllrate sparen.) Ähnliche Verfahren ließen sich auch bei Grasbüscheln einsetzen. Natürlich würde es die Performance killen, alle Objekte zu sortieren und teilweise noch zu splitten um schön B2F-Rendering zu machen, damit Alphablending richtige Ergebnisse liefert. Mit einer Einteilung in Sektionen und Objekt-Vorsortierung lässt sich der Aufwand (unter Aufgabe völliger Freiheit beim platzieren der Objekte) erheblich reduzieren.

MadManniMan
2006-10-16, 19:39:59
Die Performance-Methode bei ATI ist weiterhin TAA-SS. Für TAA-MS braucht man Alpha-to-Coverage. Das kann der Chip zwar auch, aber ohne Dithering.

Damit hast Du leider seine Frage nicht beantwortet.

IMHO ist die Diversität der AAA-Modi schon erwähnenswert. Nehmen wir den 6*AAA Modus: Quality bringt auch 6*SGSS, Performance jedoch nur 3*, also einen Teiler von 2 - mit einer beschissenen Sampleverteilung, die ähnlich nVs 6xS zu üblen Ausfransungen führt.
Für 2*AAA und 4*AAA reichen Quality und Performance dicke aus, für 6*AAA wären jedoch eher 3 und 1,5 als Teiler wünschenswert.

Xmas
2006-10-16, 22:56:31
Die Performance-Methode bei ATI ist weiterhin TAA-SS. Für TAA-MS braucht man Alpha-to-Coverage. Das kann der Chip zwar auch, aber ohne Dithering.
Mit Dithering. Ebenso hatte GeForce3 schon Dithering.

Gast
2006-10-16, 23:32:44
(Sofern das Gras da kein Alphablending nutzt, das weiß ich jetzt nicht mal, könnte man mit einer Vorsortierung immerhin etwas Füllrate sparen.)
Mhh?
Höchstens Brandbreite, wenn du keinen Z-Pass vorschiebst.

aths
2006-10-17, 00:35:02
Mhh?
Höchstens Brandbreite, wenn du keinen Z-Pass vorschiebst.Dank Early-Z auch Füllrate.

Gast
2006-10-17, 00:44:37
Dank Early-Z auch Füllrate.
Alphatest/Texkill + Z-Write + Early-Z = gibts momentan nicht

Kleine Zusatzinfo für Interessierte:
Alphatests fliegen in D3D10 als seperate Funktionalität raus und werden durch ein Texkill(nun "discard") im PS ersetzt. Noch ein unnötiger State weniger. :)

robbitop@work
2006-10-17, 11:34:32
Das A2C Tool von Humus zeigt, dass eine Art TMAA ja auch auf Radeons funktioniert. Vermutlich hatte das jedoch keine Priorität, bei ATI in den Treiber mitaufgenommen zu werden.

Warum muss man bei den Radeons eigentlich ständig mit ASBT/ASTT herumprobieren (ASBT ist ja sehr teuer und kann ggf auch Artifakte erzeugen)? Bei den Geforces aktiviert man TSAA und es läuft einfach (so gut wie immer).
Warum ist das so? Hat NV sich hier mehr Mühe bei der Implementierung gegeben oder ist die HW besser darauf ausgelegt?

Mr. Lolman
2006-10-17, 12:18:48
Warum muss man bei den Radeons eigentlich ständig mit ASBT/ASTT herumprobieren (ASBT ist ja sehr teuer und kann ggf auch Artifakte erzeugen)? Bei den Geforces aktiviert man TSAA und es läuft einfach (so gut wie immer).

Falsch:

Da wo ASTT nicht funktioniert, geht auch TSAA nicht. Mit ASBT kann man dann Texturen glätten, wo bei NV nur SSAA funktionieren würde. Z.B. bei der Hitman- Bloodmoney Demo: Der erste sichtbare Zaun wird nur mit ASBT geglättet und bei NV funzt da nichtmal SSAA. D.h. bei ATi gibts ne Möglichkeit zur Glättung, bei NV nicht.

Was ich ATi auch hoch anrechne, sind die Performance Modi. So kann man z.B. mit 4xPAAA die Alphatests glätten, ohne auf ein 4x4EER für Polygone verzichten zu müssen.

BTW: Je nach Spiel verwendet ATi eh A2C anstatt AAA. (z.B. mit dem Chucky 6.6 bei AoE III)

robbitop@work
2006-10-17, 13:15:23
Falsch:

Da wo ASTT nicht funktioniert, geht auch TSAA nicht. Mit ASBT kann man dann Texturen glätten, wo bei NV nur SSAA funktionieren würde. Z.B. bei der Hitman- Bloodmoney Demo: Der erste sichtbare Zaun wird nur mit ASBT geglättet und bei NV funzt da nichtmal SSAA. D.h. bei ATi gibts ne Möglichkeit zur Glättung, bei NV nicht.

Was ich ATi auch hoch anrechne, sind die Performance Modi. So kann man z.B. mit 4xPAAA die Alphatests glätten, ohne auf ein 4x4EER für Polygone verzichten zu müssen.

BTW: Je nach Spiel verwendet ATi eh A2C anstatt AAA. (z.B. mit dem Chucky 6.6 bei AoE III)

Soweit ich das mitbekommen habe, läuft das TSAA so gut wie bei allen D3D Spielen wunderbar, während ich auf meinem R580 ständig mit ASBT herumspielen muss (siehe Gothic2, GTA-SA nur als Beispiele).

deekey777
2006-10-17, 14:49:22
Soweit ich das mitbekommen habe, läuft das TSAA so gut wie bei allen D3D Spielen wunderbar, während ich auf meinem R580 ständig mit ASBT herumspielen muss (siehe Gothic2, GTA-SA nur als Beispiele).

TSAA funktioniert nicht, wo Alpablending oder TEXKILL benutzt werden.
http://www.beyond3d.com/previews/nvidia/g70/index.php?p=06
Super-Sample Transparency AA is more of a catch all situation and can be used when Alpha Test is enabled and Alpha Blend disabled or the shader uses the TEXKILL instruction or the shader is using depth replace. As far as end users are concerned you may need to experiment with application to see which mode works in which application - Super-Sample Transparency AA may handle more situations but might be a little more costly than the Multi-Sample Transparency AA setting.
Und das B in ASBT steht für:
http://www.beyond3d.com/forum/showpost.php?p=602145&postcount=23

Ich kann ASTT und ASBT zB in HL2 locker nutzen, in Raven Shield wird es kritisch, wenn Rauch zu sehen ist. In RtCW wird dagegen nüschts geglättet.;(

BlackArchon
2006-10-17, 14:57:42
...In RtCW wird dagegen nüschts geglättet.;(Unter OpenGL geht das doch sowieso nicht, oder?

deekey777
2006-10-17, 15:05:22
Unter OpenGL geht das doch sowieso nicht, oder?
Bei ATi leider ja.

Mr. Lolman
2006-10-17, 15:21:01
Bei ATi leider ja.

Bei NV auch nicht!

Soweit ich das mitbekommen habe, läuft das TSAA so gut wie bei allen D3D Spielen wunderbar, während ich auf meinem R580 ständig mit ASBT herumspielen muss (siehe Gothic2, GTA-SA nur als Beispiele).

Hitman Bloodmoney ist das Gegenbeispiel ;)

robbitop@work
2006-10-17, 16:09:23
Wozu auch Alphablended Texturen mit Supersampling glätten? AFAIK kann Multisampling das doch wunderbar erfassen.
Wie gesagt: TSAA scheint nach bisherigen Beobachtungen deutlich kompatibler zu sein als AAA, sofern man nicht immer mit ASBT herumtestet.
Letzteres ist dazu leider noch sehr sehr teuer.

Mr. Lolman
2006-10-17, 17:16:40
Wozu auch Alphablended Texturen mit Supersampling glätten? AFAIK kann Multisampling das doch wunderbar erfassen.


Wird auch gemacht. Bei diversen D³-Engine Spielen, wenn du ingame A2C aktivierst...

robbitop@work
2006-10-18, 10:50:42
Wird auch gemacht. Bei diversen D³-Engine Spielen, wenn du ingame A2C aktivierst...
Wuz? A2C ist doch für AT-Texturen. Alphablending sollte per se mittels MSAA geglättet werden (ist doch ein Jahrelanges Thema auf 3dc gewesen. aths war immer gegen SSAA und forderte stattdessen AB-T da diese von MSAA erfasst werden können).

Mr. Lolman
2006-10-18, 19:18:02
Wuz? A2C ist doch für AT-Texturen. Alphablending sollte per se mittels MSAA geglättet werden (ist doch ein Jahrelanges Thema auf 3dc gewesen. aths war immer gegen SSAA und forderte stattdessen AB-T da diese von MSAA erfasst werden können).

Imo verwechselst du da einiges...

A2C kann man auf jeglichen transparenten Content applizieren, wie es auch bei D³ Engine Spielen auch gemacht wird. Damit A2C möglich ist, muss die Karte über eine MSAA Logik verfügen.

Beim normalen MSAA werden NUR die Polygonkanten geglättet. Da bei Alphatexturen die Alphakanten (sofern überhaupt welche vorhanden, da man bei 1Bit Alpha ja gleich den Alphatest machen kann) kaum an den Polygonkanten liegen, werden diese somit auch nicht geglättet.

Warum Alphablending optisch besser als Alphatesting ist, liegt einfach daran, dass man mit einem Wertebereich von 8bit (Bei ARGB8888) die Transparenz definieren kann, während der Alphatest nur 1bit abdeckt (transparent oder nicht).

Dementsprechend brauchts auch keine Kantenglättung, denn da wo beim Alphatesting harte Kanten entstehen, kann man mit Alphablending den Transparenzgrad fein abstufen. (Ati hat AFAIK ab irgendeinem Catalyst zumindest bei UT200x eine Treiberoptimierung eingebaut, die bei aktivem MSAA gewisse Polygone garnicht mehr glättet. z.B. Raucheffekte. Sieht genauso gut wie vorher aus (da ja die Polygonkanten transparent sind), läuft aber flotter.)

Wenn jetzt eine Textur nur 1-bittige Transparenzwerte nutzt, und die Engine den Alphatest nicht machen lässt, kann der Treiber nicht erkennen dass es sich eigentlich um ne Alphatesttextur handelt. D.h. Die Textur hat alle Nachteile des Alphablendings (muss sortiert werden) inkl. der Nachteile von Alphatesting (harte Kanten) und wird von der Transparenz AA Logik nicht erfasst.

ASBT oder SSAA hilft dagegen. Blöderweise scheint zumindest bei Hitman:Bloodmoney kein SSAA zu gehen, weswegen es auf NV Karten unmöglich ist, besagte (alphageblendete) Zauntextur zu glätten.

Gast
2006-10-19, 12:49:44
Ich hab mal nen Screen gemacht. Ist auf 200% vergrößert:
http://img138.imageshack.us/img138/5613/wowscrnshot101506152441pa6.png

bei HL2 gibt es ähnliche effekte wenn man nahe an den zäunen ist und die taschenlampe eingeschaltet hat, so dass die zaunfarbe auf weiß clippt.

Gast
2006-10-19, 12:52:07
TSAA funktioniert nicht, wo Alpablending oder TEXKILL benutzt werden.


TSSAA funktioniert mit texkill schon, und ordentliches alphablending mit SSAA zu behandeln wäre sinnlos, alphablending erlaubt eh schon 256 abstufungen, 4xAA lediglich 4.

dementsprechend hätte man praktisch keine qualitätsverbesserung, aber performancenachteile.

Gast
2006-10-19, 12:54:46
BTW: Je nach Spiel verwendet ATi eh A2C anstatt AAA. (z.B. mit dem Chucky 6.6 bei AoE III)

interessant zu wissen, dass AAA nicht immer mit TSSAA vergleichbar ist.

Mr. Lolman
2006-10-22, 22:00:26
Die Wiese besteht aus mehreren Blades. So erspart man sich, einzelne Büschel zu rendern. Die Blades sind vermutlich vorsortiert so dass man bei freier Beweglichkeit je nach Winkel nur die Objekte aus der Liste aufsteigend oder absteigend rendern muss. (Sofern das Gras da kein Alphablending nutzt, das weiß ich jetzt nicht mal, könnte man mit einer Vorsortierung immerhin etwas Füllrate sparen.) Ähnliche Verfahren ließen sich auch bei Grasbüscheln einsetzen. Natürlich würde es die Performance killen, alle Objekte zu sortieren und teilweise noch zu splitten um schön B2F-Rendering zu machen, damit Alphablending richtige Ergebnisse liefert. Mit einer Einteilung in Sektionen und Objekt-Vorsortierung lässt sich der Aufwand (unter Aufgabe völliger Freiheit beim platzieren der Objekte) erheblich reduzieren.

Codecreaturesgras verwendet Alphablending. Kann man theoretisch eigentlich A2C nur partiell einsetzen? Denn dann könnte man einfach normales Alphatested Gras verwenden. Denn mit A2C enstehen bei geringen Kontrasten (wie zB. Grasbüschel zu Bodentextur) kaum Ditheringartefakte. Für Bäume z.B., geht dann Alphablending, ganz ohne Sortierungsproblem.

Wär imo die performanteste Lösung.