PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Edge Detect vs. MLAA


Ailuros
2010-03-24, 21:16:00
Also Edge Detection a la Radeons wäre nicht undenkbar, aber in Anbetracht davon, dass es CSAA gibt?
(Ja, EDAA ist wirklich die Krone der Schöpfung.)

Wir sollten mal einen Thread im Tech-forum diesbezueglich aufmachen; ich werde das Gefuehl nicht los dass edge detect AA mehr positives zugesprochen bekommt als es am Ende verdient und MLAA im Gegensatz mehr negatives als es verdient. Ist aber verdammt OT.

Raff
2010-03-24, 21:17:10
Wir sollten mal einen Thread im Tech-forum diesbezueglich aufmachen; ich werde das Gefuehl nicht los dass edge detect AA mehr positives zugesprochen bekommt als es am Ende verdient und MLAA im Gegensatz mehr negatives als es verdient. Ist aber verdammt OT.

Mal abgesehen davon, dass es kein SSAA ist ;), ist ED-CFAA auf MSAA-Basis wunderhübsch. Kostet halt, aber Wunderhübsches kostet eben. Was ist denn daran nicht wunderhübsch? Ich habe noch nix Besseres gesehen als 24x ED-SGSSAA ... wenn's denn mal funktioniert.

MfG,
Raff

AwesomeSauce
2010-03-24, 21:51:13
ich werde das Gefuehl nicht los dass edge detect AA mehr positives zugesprochen bekommt als es am Ende verdient und MLAA im Gegensatz mehr negatives als es verdient. Ist aber verdammt OT.
Morphological Antialiasing (http://visual-computing.intel-research.net/publications/mlaa.pdf) bei GF100-Karten confirmed? Zwar kein Ersatz für SGSSAA, dennoch wäre MLAA eine nette Ergänzung der AA-Modi.

Spasstiger
2010-03-24, 22:23:47
Ich finde solche Techniken MLAA auf keinen Fall verkehrt. Der Detailgrad wird damit natürlich nicht erhöht, aber das Aliasing wird stark vermindert ohne dass das Gesamtbild wesentlich unschärfer wird.
Der Edge-Detect-Filter von ATI erhöht den Detailgrad auch nicht und wird trotzdem hochgelobt. Warum sollte dann MLAA verkehrt sein?
MLAA kann theoretisch auch mit MSAA oder SSAA kombiniert werden, was unter Umständen weitere subjektive Verbesserungen bringt.

Mr. Lolman
2010-03-24, 22:26:27
MLAA sollte theoretisch ja jede SM3.0 fähige GraKa beherrschen, oder?

Ailuros
2010-03-24, 22:50:45
Ich finde solche Techniken MLAA auf keinen Fall verkehrt. Der Detailgrad wird damit natürlich nicht erhöht, aber das Aliasing wird stark vermindert ohne dass das Gesamtbild wesentlich unschärfer wird.
Der Edge-Detect-Filter von ATI erhöht den Detailgrad auch nicht und wird trotzdem hochgelobt. Warum sollte dann MLAA verkehrt sein?
MLAA kann theoretisch auch mit MSAA oder SSAA kombiniert werden, was unter Umständen weitere subjektive Verbesserungen bringt.

Ich hab Dich lieb (stets metaphorisch) *hust*

Gast
2010-03-25, 11:16:03
Wenn ich es richtig verstanden habe, daß MLAA das ganze Bild scannt, dann müßte es doch neben Polygonenkanten und transparenten Texturen auch Shader-Aliasing glätten, oder?

Hakkerstiwwel
2010-03-25, 12:43:02
Làsst sich MLAA analog zu CFAA auch unter DX10, 11 frorcen? Falls ja, wäre es seeeehr interessant.

Gast
2010-03-25, 17:40:37
Wenn ich es richtig verstanden habe, daß MLAA das ganze Bild scannt, dann müßte es doch neben Polygonenkanten und transparenten Texturen auch Shader-Aliasing glätten, oder?

Ich hab MLAA auch nicht so ganz verstanden, aber wenn es so funktioniert wie du schreibst hilft das gegen Shader-Aliasing wenig bis gar nichts.

Ein Postfilter der nach Kanten sucht und diese blurrt hilft nur gegen Kanten. Wenn dein Shader also irgendwelche Kanten erzeugt (beispielsweise beim Parallax-Mapping) werden diese auch geglättet. Ein Postfilter hilft aber in keinem Fall wirklich gegen Flimmern, was ja das größte Problem von Shader-Aliasing ist.

mapel110
2010-03-25, 17:52:24
http://forum.beyond3d.com/showthread.php?t=55634

http://www.forum-3dcenter.org/vbulletin/showthread.php?p=7710690#post7710690
MLAA glättet starke Kontraste, nicht Kanten. Das fällt beides oft zusammen, aber beides kann auch ohne das jeweils andere vorkommen. Wenn also Kanten mit niedrigem Kontrast (Aliasingartefakt) nicht geglättet werden, gewollte hohe Kontraste (kein Aliasingartefakt) aber schon, kann man dann noch von Antialiasing reden?



Wer genug technisches Verständnis für solche Dinge hat, muß es nicht erst sehen, um zu wissen, wie es aussieht. Die Stärken und Schwächen hat man eben direkt vor dem geistigen Auge. Ist wie bei der Mathematik. Wenn da jemand sagt, für 2+2 müsse man erstmal live erlebt haben, was ein echter Taschenrechner ausspuckt, bevor man sich auf ein Ergebnis festlegt, ist das auch nichts anderes. Nur eben auf viel niedrigerem Niveau.

Dieses MLAA hat natürlich seine Stärken, wie bei den gezeigten Bildern ja auch schon zu sehen ist. Aber eben auch Schwächen. Filigrane Geometrie, die weniger als einen Pixel dünn ist (bei 45° Winkel sogar bis zu 1,4 Pixel Breite), kann ohne Multisampling bzw. Supersampling komplett verschluckt werden, das gibt dann unschöne Lücken in z.B. Antennen oder Stromleitungen. Und diese Lücken kann man nicht wegblurren. In solchen Fällen kann MLAA nichtmal mit 2x MSAA mithalten, es ist dann eher auf dem Level von NoAA. Das ist aber noch nicht der Worst Case. Der tritt dann zum Vorschein, wenn gewollte scharfe Kontraste durch MLAA vernichtet werden. Dann kann ein Bild ganz ohne AA schonmal näher am Bild mit perfektem Antialiasing (Flächenintegral pro Pixel) liegen als ein Bild, das durch MLAA nur weiter verfälscht wurde.

Kurz: MLAA bietet in der Regel gute Ergebnisse bei geringen Kosten, kann aber bei ungünstigem Content nicht mit MSAA mithalten und das Ergebnis sogar verschlechtern.
Zwei Links von deekey777.

Gast
2010-03-25, 20:17:54
Wie stark der Kontrast sein darf, bevor MLAA aktiv wird, wird dann ja wohl auch einstellbar sein.
Man müsste es auch so einstellen können, daß es auch an Kanten mit recht niedrigem Kontrast aktiv wird.

Neomi
2010-03-25, 21:56:27
Man müsste es auch so einstellen können, daß es auch an Kanten mit recht niedrigem Kontrast aktiv wird.

Bedenke aber, daß es nicht nur die unerwünschten Kontraste gibt, die geglätten werden sollen, sondern auch die erwünschten Kontraste, die erhalten bleiben sollen. Je mehr du von den unerwünschten eliminierst, desto mehr verlierst du auch von den erwünschten. Welche Grenze sinnvoll ist, hängt wohl stark vom Content ab. Bei einem Cartoon-Look wird man wohl aggressiv glätten können und dabei richtig gute Ergebnisse erzielen.

unwissender Gast
2010-03-27, 13:48:19
Ich habe mal gelesen, daß in GoW 4xMLAA verwendet wird.
Nun, das verstehe ich nicht. Bei MSAA ist ja klar, 4xMSAA steht für 4 verschiedene Transparenz-Stufen bzw Samples.
Aber MLAA ist doch nur ein Blurfilter. Wofür soll da die 4 stehen?

dildo4u
2010-03-27, 14:02:26
Das Video zeigt MLAA Einsatz bei God of War 3.(Video wurde extra verlangsamt)

http://www.eurogamer.net/videos/digitalfoundry-god-of-war-iii-anti-aliasing-showcase?size=hd

Gast
2010-03-27, 14:04:28
aber das Aliasing wird stark vermindert ohne dass das Gesamtbild wesentlich unschärfer wird.

GoW3, das ja MLAA nutzen soll, Flimmert stellenweise extrem, weiss also nicht was daran so toll sein soll.

del_4901
2010-03-27, 14:58:11
Ich habe mal gelesen, daß in GoW 4xMLAA verwendet wird.
Nun, das verstehe ich nicht. Bei MSAA ist ja klar, 4xMSAA steht für 4 verschiedene Transparenz-Stufen bzw Samples.
Aber MLAA ist doch nur ein Blurfilter. Wofür soll da die 4 stehen?
Das ist warscheinlich die Kernelkantengroesse, wo sie im Umkreis nach Kanten suchen. 4x ist ganz schoen wenig. Ich hab ein eigenes Verfahren auf der Grundlage von MLAA was ne Kernelkantengroesse von maximal 256 hat.

Spasstiger
2010-03-27, 15:54:27
GoW3, das ja MLAA nutzen soll, Flimmert stellenweise extrem, weiss also nicht was daran so toll sein soll.
Shaderflimmern lässt sich ohne bessere Abtastung natürlich nur mit Matsch bekämpfen. Aber bei Kanten liefert MLAA schon ein überraschend gutes Ergebnis dafür, dass keine zusätzliche Bildinformation einfließt.

del_4901
2010-03-27, 16:04:30
Shaderflimmern lässt sich ohne bessere Abtastung natürlich nur mit Matsch bekämpfen. Aber bei Kanten liefert MLAA schon ein überraschend gutes Ergebnis dafür, dass keine zusätzliche Bildinformation einfließt.
Matsch wuerde ich das nicht nennen, das gibt zwar keine neuen Informationen, aber das eklige Flimmern fuer die Augen verschwindet komplett. Und so Matschig sieht das gar nicht aus, wenn die Kanten richtig rekonstruiert. Objektiv kann man an sowas eh nicht rangehn, weil die Wahrnehmung doch ein sehr subjektiver Fall ist. Unter Matsch-Filter versteh ich 0815 KantenBlur wo ueberall die gleichen Gewichte verwendet werden, das sit bei MLAA und seinen Derivaten nicht der Fall.
Und alles was unter Nyquist faellt und von MLAA nicht geglaettet werden kann, ist ein Problem der Artists. Dann muessen sie eben LoD einbauen und High Frequency Noise in den Shadern auf die Entfernung abstellen. Die MipMaps vernuenftig anlegen etc...

_DrillSarge]I[
2010-03-27, 16:04:40
warum stellt man hier CFAA und MLAA gegenüber?

Spasstiger
2010-03-27, 16:17:18
Weil der Thread aus dem GF100-Thread rausgesplittet wurde, nachdem ein Streit aufkam, ob MLAA genauso legitim wie CFAA wäre.

deekey777
2010-03-27, 17:05:38
Weil der Thread aus dem GF100-Thread rausgesplittet wurde, nachdem ein Streit aufkam, ob MLAA genauso legitim wie CFAA wäre.
Moment. Es ging darum, ob die GTX400 auch Shader-AA bekommen, was für mich in Anbetracht des CSAA eher unwahrscheinlich war. MLAA hat dagegen Ail ins Spiel gebracht.
MLAA wird wirklich von Konsoleros gehypet ohne Ende. Es ist was neues, aber es wird so dargestellt, als ob diese Methode allem überlegen ist. Die PC-Leute sind da dagegen skeptischer und das zu Recht.

Ailuros
2010-03-29, 10:06:04
Moment. Es ging darum, ob die GTX400 auch Shader-AA bekommen, was für mich in Anbetracht des CSAA eher unwahrscheinlich war. MLAA hat dagegen Ail ins Spiel gebracht.

Ich hab es nicht im Bezug zu GF100 in die Debatte gebraucht sondern im direkten Vergleich EDAA vs. MLAA wie der Threadtitel auch anzeigt.

MLAA wird wirklich von Konsoleros gehypet ohne Ende. Es ist was neues, aber es wird so dargestellt, als ob diese Methode allem überlegen ist. Die PC-Leute sind da dagegen skeptischer und das zu Recht.

http://visual-computing.intel-research.net/publications/mlaa.pdf

Intel labs sollte erstmal hier der eigentliche Augenoeffner sein und warum Intel's R&D genau (mit LRB im Hinterkopf) an so eine Methode dachte. Wenn man Bezeichnungen sehr frei nimmt ist MLAA nichtmal was ich als hw antialiasing bezeichnen wuerde sondern eher in Richtung sw AA, aber das macht die Debatte nur komplizierter.

Letzter screenshot im obrigen pdf/whitepaper und darunter der Text:

Figure 10. A jungle scene from “Call of Duty®: World at War” game. This screenshot was captured at 640x480 resolution with geometric antialiasing turned off but texture antialiasing set at best quality. Note that some of the vegetation is implemented with transparent textures and, therefore, antialiased in hardware. There are also far‐away billboards. MLAA handles all these cases uniformly by analyzing color discontinuities.

Was wir hier wohl sehen ist MLAA mit Transparenz-AA kombiniert. Das Resultat ist alles andere als schlecht, ueberhaupt wenn man bedenkt dass es sich um 640*480 handelt. Wenn ich mich nicht irre ist ein technischer Nachteil der obrigen Kombination dass das dazugeschaltete TAA auf ordered grid begrenzt ist.

Mein Ziel war keineswegs MLAA irgendwie hochzuloben, sondern eher herauszufinden ob es wirklich so "nutzlos" ist wie bisher generell empfunden und welche technische Parallelen man eventuell zu edge detect custom filter AA man ziehen koennte.

Neomi
2010-03-29, 11:47:44
Was wir hier wohl sehen ist MLAA mit Transparenz-AA kombiniert. Das Resultat ist alles andere als schlecht, ueberhaupt wenn man bedenkt dass es sich um 640*480 handelt. Wenn ich mich nicht irre ist ein technischer Nachteil der obrigen Kombination dass das dazugeschaltete TAA auf ordered grid begrenzt ist.

Das verstehst du falsch. Dürfte allerdings daran liegen, daß es im PDF (auf fast schon dämliche Art) falsch beschrieben ist. In besagtem Bild gibt es gar kein Antialiasing in Hardware. Ein Teil der gerenderten Vegetation hat bloß keine Aliasing-Artefakte, weil dieser Teil mit Alphablending statt Alphatest gerendert wird.

Ailuros
2010-03-29, 12:46:32
Das verstehst du falsch. Dürfte allerdings daran liegen, daß es im PDF (auf fast schon dämliche Art) falsch beschrieben ist. In besagtem Bild gibt es gar kein Antialiasing in Hardware. Ein Teil der gerenderten Vegetation hat bloß keine Aliasing-Artefakte, weil dieser Teil mit Alphablending statt Alphatest gerendert wird.

Damit ich es nicht zwei Mal falsch verstehe die engine selber benutzt von Grund auf alpha blending?

Neomi
2010-03-29, 14:02:28
"Von Grund auf" klingt so nach "für alles", aber so ist das natürlich nicht. Dinge, für die Alphatest eingestellt ist, werden mit Alphatest gerendert, dann gibt es natürlich auch die dafür typischen Aliasing-Artefakte (sofern nicht mit SSAA oder Alpha to Coverage dagegen angegangen wird, was im PDF ja nicht der Fall ist). Dinge, für die Alphablending eingestellt ist (die Billboards im Hintergrund), werden mit Alphablending gerendert. Bei Alphablending entstehen natürlich keine Aliasing-Artefakte, im PDF wird das fälschlicherweise als Antialiasing bezeichnet.

PS: die Engine kenne ich nicht genauer, aber das Bild und die Formulierung im PDF machen die Sache recht offensichtlich.

Ailuros
2010-03-29, 14:29:07
Wenn die spezifische game engine alpha blending fuer Transparenzen benutzt (welches auch relativ selten ist, weil aufwending und back to front blah blah blah) dann hat man einen rosinen-gepickten Fall gewaehlt das Zeug schoen zu illustrieren.

Gast
2010-03-29, 15:53:46
Wenn die spezifische game engine alpha blending fuer Transparenzen benutzt (welches auch relativ selten ist, weil aufwending und back to front blah blah blah) dann hat man einen rosinen-gepickten Fall gewaehlt das Zeug schoen zu illustrieren.


Es mag ja sein, dass die Engine teilweise Alpha-Blending für die Vegetation benutzt, bei den Blättern/Gräsern im Vordergrund ist das aber eindeutig nicht der Fall, da gibt es offensichtlich nur einen simplen AT, und das MLAA scheint zumindest in diesem Beispiel recht gut zu sein.

Gast2
2010-03-30, 17:48:18
Kann mir vielleicht einer in "einfachen" Worten erklären wie dieses MLAA den nun funktioniert, werde aus dem PDF nicht schlau.

EDAA blur't einfach die gefundenen Kanten, richtig?
MLAA macht das auch aber sucht die Kanten anders. aber wie genau geht das?

Da es ein Post-Effekt ist könnte man es dann nicht ala Fraps auch für ältere Spiele nutzbar machen?
Stichpunkt: "Suche Lösung für Spiele die kein Antialiasing bieten"

btw ich sehe diese Technik nicht als Ersatz sondern als Alternative im Bezug auf Geschwindigkeit und Qualität zu "richtigen" AA, z.B. unter DX9 und deferred rendering.

@Alpha Tier
Du hast es ja verstanden vielleicht kannst Du mir hier weiter helfen ?

Gast
2010-03-30, 18:31:41
EDAA blur't einfach die gefundenen Kanten, richtig?
MLAA macht das auch aber sucht die Kanten anders. aber wie genau geht das?

Stimmt prinzipiell. Der Unterschied ist einerseits wie man die Kanten erkennt.
EDAA verwendet hier einfach den MS-Buffer, wenn alle Subpixel eines Pixels gleich sind ist es keine Kante, unterscheiden sie sich ist es eine Kante.
MLAA analysiert hier den Bildinhalt um kanten zu finden.

Der zweite Unterschied ist, dass man EDAA zwingend mit "echtem" Antialiasing verbinden muss, es quasi nur ein Zusatz zu MSAA.
MLAA soll dagegen ein billiger FSAA-Ersatz sein.

MLAA kann deshalb auch niemals Strukturen glätten, die vom Abtastraster nicht erfasst werden, echtes AA verfeinert das Abtastmuster und kann damit potentiell mehr Strukturen erkennen.


Da es ein Post-Effekt ist könnte man es dann nicht ala Fraps auch für ältere Spiele nutzbar machen?
Stichpunkt: "Suche Lösung für Spiele die kein Antialiasing bieten"

Jein, man kann es sicher für ältere Spiele nutzen, aber höchstwahrscheinlich nicht für Spiele, bei denen kein herkömmliches FSAA funktioniert.

Ailuros
2010-03-30, 18:54:03
Es mag ja sein, dass die Engine teilweise Alpha-Blending für die Vegetation benutzt, bei den Blättern/Gräsern im Vordergrund ist das aber eindeutig nicht der Fall, da gibt es offensichtlich nur einen simplen AT, und das MLAA scheint zumindest in diesem Beispiel recht gut zu sein.

Ich dachte MLAA kann keine alpha tests glaetten? Genau deshalb glaubte ich auch anfangs dass sie fuer den letzten shot im pdf MLAA mit Trasparenz AA kombiniert haben. Ich hab das ganze privat vor einiger Zeit mit einem Intel Kerl besprochen und er behauptete dass man MLAA durchaus mit Transparenz Supersampling kombinieren koennte nur dass man eben auf nur ordered grid begrenzt ist. Wenn das jetzt stimmt und das TSAA ist nur auf OGSS begrenzt dann wird es wohl auch kein eingeschaltetes MSAA brauchen um zu funktionieren.

Eigentliche Frage an alle was auch der eigentliche Zweck dieses Threads von Anfang an war: kann man theoretisch MLAA mit irgend einer Form von hw AA stellenweise kombinieren wo immer MLAA einfach versagt? (z.B. filigrane Geometrie).

Wenn ja ist es trotz allem keine so bloede Idee und das jetzt nicht fuer den PC (da 4x MSAA heutzutage spottbillig ist auf heutigen GPUs) sondern fuer Konsolen oder sogar handhelds als billige Alternative. Implementierung in jeglichem Spiel haengt nach wie vor vom ISV ab, und zwischen dem Dilemma gar kein AA und MLAA ist das zweite immer noch besser als gar nichts trotz Nachteilen.

del_4901
2010-03-30, 19:28:13
Kann mir vielleicht einer in "einfachen" Worten erklären wie dieses MLAA den nun funktioniert, werde aus dem PDF nicht schlau.

EDAA blur't einfach die gefundenen Kanten, richtig?
MLAA macht das auch aber sucht die Kanten anders. aber wie genau geht das?

Da es ein Post-Effekt ist könnte man es dann nicht ala Fraps auch für ältere Spiele nutzbar machen?
Stichpunkt: "Suche Lösung für Spiele die kein Antialiasing bieten"

btw ich sehe diese Technik nicht als Ersatz sondern als Alternative im Bezug auf Geschwindigkeit und Qualität zu "richtigen" AA, z.B. unter DX9 und deferred rendering.

@Alpha Tier
Du hast es ja verstanden vielleicht kannst Du mir hier weiter helfen ?
Die Kante wird einfach detektiert und dann rekonstruiert und entsprechend werden die Gewichte mit denen geblendet wird ausgerechnet. Die Gewichte sind einfach der prozentuale Anteil am Flaecheninhalt der rekonstruierten Dreieckskante.

Fuer DX9 hab ich zwar eine Loesung, die wird aber hoechst warscheinlich nicht die erwartette Geschwindigkeit bringen. Ich wollte das mal in XNA implementieren und testen, bin aber noch nicht soweit gekommen. (Keine Lust zuhause auch noch zu coden)
Unter DX10 und 11 sollte es aber kein Problem darstellen. Ich hab nur keine entsprechende Karte zur Hand, ich hab zuhause nur die Xbox und nen integrierten DX9 ATi.

del_4901
2010-03-30, 19:33:08
Ich dachte MLAA kann keine alpha tests glaetten? Genau deshalb glaubte ich auch anfangs dass sie fuer den letzten shot im pdf MLAA mit Trasparenz AA kombiniert haben. Ich hab das ganze privat vor einiger Zeit mit einem Intel Kerl besprochen und er behauptete dass man MLAA durchaus mit Transparenz Supersampling kombinieren koennte nur dass man eben auf nur ordered grid begrenzt ist. Wenn das jetzt stimmt und das TSAA ist nur auf OGSS begrenzt dann wird es wohl auch kein eingeschaltetes MSAA brauchen um zu funktionieren.

Eigentliche Frage an alle was auch der eigentliche Zweck dieses Threads von Anfang an war: kann man theoretisch MLAA mit irgend einer Form von hw AA stellenweise kombinieren wo immer MLAA einfach versagt? (z.B. filigrane Geometrie).

Wenn ja ist es trotz allem keine so bloede Idee und das jetzt nicht fuer den PC (da 4x MSAA heutzutage spottbillig ist auf heutigen GPUs) sondern fuer Konsolen oder sogar handhelds als billige Alternative. Implementierung in jeglichem Spiel haengt nach wie vor vom ISV ab, und zwischen dem Dilemma gar kein AA und MLAA ist das zweite immer noch besser als gar nichts trotz Nachteilen.

filigrane Geometrie ist ein Problem von den Assets, auch HW AA hilft da nur bis zu einer gewissen Grenze. Und klar kann HW AA parallel zu MLAA auf das ganze Bild anweden. Das ganze selektiv auf bestimmte Bildteile anzuwenden wird wohl nicht so einfach werden. MLAA vlielleicht, HW AA... eher nicht.

Gast2
2010-03-30, 20:23:00
@Gast
Danke!

@Alpha Tier
schon mal ein Danke an Dich!

Beim Edge Smoothing werden die Kanten ja mit Hilfe eines Sobel-Filter (z.B. 3x3) gefunden und einfach weichgezeichnet sprich Durchsschnitt.

Nur wie bekommt man jetzt bei MLAA die von Dir beschriebene Rekonstruktion und Gewichtung statt des einfachen weichzeichnens hin? vielleicht ala Gauss?
Verstehe das im Intel PDF beschriebe nicht so ganz. :(


Btw:
Den negativen Effekt den Neomi beschreibt könnte man umgehen wenn man statt des Helligkeitbildes
den Tiefenpuffer nutzt.
Damit sollten dann alpha Objekte auch kein Problem darstellen.

Gast2
2010-03-30, 20:40:53
....
Jein, man kann es sicher für ältere Spiele nutzen, aber höchstwahrscheinlich nicht für Spiele, bei denen kein herkömmliches FSAA funktioniert.

Da MLAA ja ein Post-Effekt ist kann dieser auf das fertige Bild angewendet werden, mit dem Nachteil das auch Schriften etc davon betroffen sind, also sollte es "immer" funktionieren. Oder liege ich da falsch?

del_4901
2010-03-30, 20:58:51
Nur wie bekommt man jetzt bei MLAA die von Dir beschriebene Rekonstruktion und Gewichtung statt des einfachen weichzeichnens hin? vielleicht ala Gauss?
Man braucht die Richtung und Laenge der Kante. Und die sucht MLAA auch nur fuer jedes Kantenstueck aufs neue. Ziehmlich ineffizient wie ich finde.

Gast
2010-03-31, 13:28:26
Da MLAA ja ein Post-Effekt ist kann dieser auf das fertige Bild angewendet werden, mit dem Nachteil das auch Schriften etc davon betroffen sind, also sollte es "immer" funktionieren. Oder liege ich da falsch?

Das Problem bei Spielen, in denen man kein FSAA erzwingen kann ist allerdings, dass man keinen Zugriff auf den Renderpuffer hat, weshalb man ihn auch nicht einfach Blurren kann.

DrFreaK666
2010-03-31, 13:40:10
Wäre ein MLAA-Photoshop-Plug-In möglich?
Würde gerne mal damit herumspielen (alte Screenshots verschönern oder so :smile: )

AnarchX
2010-03-31, 14:05:00
Wäre ein MLAA-Photoshop-Plug-In möglich?
Würde gerne mal damit herumspielen (alte Screenshots verschönern oder so :smile: )
http://visual-computing.intel-research.net/publications/testMLAA.zip

This folder includes project files for a stand-alone command line utility,
which antialiases images given on a command line using MLAA. [...]

DrFreaK666
2010-03-31, 14:15:34
http://visual-computing.intel-research.net/publications/testMLAA.zip

ist zwar gant nett aber auf Dauer zu anstrengend.
Wir sind schon ewig im Windows-Zeitalter. :frown:

OC_Burner
2010-03-31, 16:53:30
http://visual-computing.intel-research.net/publications/testMLAA.zip

Klasse,

danke für den Link. MLAA leistet gute Arbeit.

_DrillSarge]I[
2010-03-31, 17:05:12
Mein Ziel war keineswegs MLAA irgendwie hochzuloben, sondern eher herauszufinden ob es wirklich so "nutzlos" ist wie bisher generell empfunden und welche technische Parallelen man eventuell zu edge detect custom filter AA man ziehen koennte.
naja, direkt "nutzlos" nicht, aber selbst die vorherige gpu-generation hat für die meisten spiele genug leistung für 4x-msaa+ED*, was deutlich besser aussieht (sowohl bei der "farbechtheit", als auch EER (wenn man bei mlaa überhaupt davon sprechen kann)). also eher überflüssig.

edit: *wobei mir aufgefallen ist, dass unter opengl die cfaa-leistung manchmal unter aller sau ist. aber gibt ja kaum noch spiele damit.

Gast
2010-03-31, 18:07:18
Das Video zeigt MLAA Einsatz bei God of War 3.(Video wurde extra verlangsamt)

http://www.eurogamer.net/videos/digitalfoundry-god-of-war-iii-anti-aliasing-showcase?size=hd
Ab welcher Laufzeit wird's denn da mal angeschaltet? In der ersten Minute flimmert alles wie die Seuche.

DrFreaK666
2010-03-31, 19:01:10
Klasse,

danke für den Link. MLAA leistet gute Arbeit.

wie funktioniert es denn?
Ich bekomme nur ne Fehlermeldung zu Gesicht:
"Unzulässiger Parameter - _src.ppm
Das System kann den angegebenen Pfad nicht finden.
Die Datei "_src.ppm" kann nicht gefunden werden.
Die Datei "_tgt.ppm" kann nicht gefunden werden."

OC_Burner
2010-03-31, 20:21:39
Habe die Sourcedateien mithilfe von VisualBasic 2008 zu einer ausführbaren exe compilieren lassen. Funktioniert nun wie jedes normale Kommandozeilenprogramm. Die Testbilder sollte man vorher natürlich ins ppm Format bringen.

klick bei Interesse (http://www.oc-burner.de/ftp/tools/Test%20MLAA.zip)



Hier mal ein paar Testbilder

alt:
http://www.abload.de/thumb/01_gtaiv_altmoal.png (http://www.abload.de/image.php?img=01_gtaiv_altmoal.png)

neu mit MLAA:
http://www.abload.de/thumb/01_gtaiv_neumitmlaabqip.png (http://www.abload.de/image.php?img=01_gtaiv_neumitmlaabqip.png)

alt:
http://www.abload.de/thumb/02_crysis_altkqza.png (http://www.abload.de/image.php?img=02_crysis_altkqza.png)

neu mit MLAA:
http://www.abload.de/thumb/02_crysis_neumitmlaabpkt.png (http://www.abload.de/image.php?img=02_crysis_neumitmlaabpkt.png)

AnarchX
2010-03-31, 20:27:49
Beim GTA4 Bild werden wohl wirklich nur die Kanten bearbeitet:
http://img202.imageshack.us/img202/7356/gta4differenz.th.jpg (http://img202.imageshack.us/i/gta4differenz.jpg/)

Gast
2010-03-31, 22:31:30
Beim GTA4 Bild werden wohl wirklich nur die Kanten bearbeitet:


Eben alles, was einen ausreichenden Kontrast aufweist, beim GTA-Bild sind das fast nur Kanten, aber eben nicht nur. Die Fenster hinten im Gebäude werden auch geglättet, sind aber eine Textur.

san.salvador
2010-03-31, 22:34:33
Bitte zeigt mal einen Vergleich, in dem auch richtige Texturen zu sehen sind. :)

Gast
2010-03-31, 23:05:56
http://www.abload.de/thumb/masseffect22010-03-31258so.png (http://www.abload.de/image.php?img=masseffect22010-03-31258so.png)

AnarchX
2010-03-31, 23:07:48
Theoretisch könnte man ja auch mal ein kurzes Video mit MLAA bearbeiten, indem man die Einzelbilder abspeichert, mit der exe bearbeitet und dann wieder zusammenfügt.

OC_Burner
2010-03-31, 23:42:50
Ja die Idee hatte ich auch schon, vielleicht mal Morgen probieren.

OC_Burner
2010-04-01, 10:37:16
Habe den oberen Downloadlink aktualisiert. Hinzugefügt wurde eine Datei zur automatischen Batchconvertierung aller ppm Bilddateien.


Ein Video konnte ich in der Zwischenzeit auch erstellen:

HQ Version: Mirror1 (http://www.oc-burner.de/ftp/Videos/AntiAlias/MLAA/test/MLAA_(2009_Intel_tool)_Vergleich_MassEffect2_HQ.mp4)

LQ Version: Mirror1 (http://ul.to/pam04k)

robbitop
2010-04-01, 12:51:46
Hm bei Mass Effect sind keine sehr deteilreichen und konstrastreichen Texturen vorhanden. Da ist durch Blur nicht viel zu versauen. Eine Szene aus Crysis oder Half Life 2 mit Cinematic Mod wäre IMO geeigneter.

Gast2
2010-04-01, 14:30:40
Ich weiß nicht ob dieser Artikel schon bekannt ist aber er enthält auch ein paar schöne Vergleichsbilder.

http://www.eurogamer.net/articles/digitalfoundry-saboteur-aa-blog-entry

DrFreaK666
2010-04-01, 15:33:14
Also mir gefällt das MLAA.
Gäbe es eine Möglichkeit MLAA zu erzwingen?

Mr. Lolman
2010-04-01, 16:10:51
Das Problem am MLAA ist wohl, dass keine Subpixelinfos existieren. D.h. die Pixeltreppen hupfen bei langsamer Bewegung genauso zeilenweise übern Schirm, wie wenn garkein AA aktiv wär, mit dem Unterschied, dass sie aber geglättet sind.

MLAA schaut demenstprechend wohl bei Standbildern nett aus, und hilft ein bisschen die hochfrequenten Inhalte zu glätten, aber ein zeitliches AA gibts im Gegensatz zum echten AA (was auch Subpixelbewegungen darstellen kann) nicht. Zur Hilfe stelle man sich einfach eine Kante, die sich innerhalb von 5 Bildern um einen Pixel bewegt. Mit echtem AA ist die Bewegung weich (durch der sich änderenden Subpixelabdeckung). Mit MLAA hat man nur den harten Sprung der auch mit noAA auftritt, dafür aber geglättete Polygonkanten.

Das Problem beim MLAA ist dann natürlich, dass es nur funktioniert, sofern es auch harte Kanten gibt, weswegen man es nicht besonders gut mit 'echtem' AA kombinieren kann. Und deswegen ist MLAA auch nicht mit dem Edge-Detect Filter vergleichbar.

Gast
2010-04-01, 18:15:30
Wie funktioniert Edge-Detect eigentlich?
Ich hatte das kürzlich in MirrorsEdge ausprobiert und leider feststellen müssen, dass viele Kanten überhaupt nicht erfasst werden.
Was das natürlich etwas unsinnig macht, da es dann mehr kostet und nicht alles glättet =/


Btw.
Es gab doch mal vor langer Zeit im ATi-Treiber integriert so ein kleines Postfilter-Tool womit man bestimmte Effecte wie Schwarz-Weiss oder körnig aktivieren konnte. Gibt es so was noch und könnte man theoretisch per Tool fast jede Grafikkarte dazu bringen nachträglich MLAA anzuwenden?

Gast
2010-04-01, 18:22:50
Wie funktioniert Edge-Detect eigentlich?
Ich hatte das kürzlich in MirrorsEdge ausprobiert und leider feststellen müssen, dass viele Kanten überhaupt nicht erfasst werden.
Was das natürlich etwas unsinnig macht, da es dann mehr kostet und nicht alles glättet


Edge-Detect basiert auf MSAA und sucht Pixel, deren Subpixel unterschiedliche Werte haben. Diese werden dann geblurrt.

Es kann damit logischerweise nur Kanten glätten die vom MSAA erfasst werden.

Gast2
2010-04-01, 18:50:31
Und hier noch das Video zu Saboteur.
http://www.eurogamer.de/videos/digitalfoundry-the-saboteur-anti-aliasing-analysis

del_4901
2010-04-02, 05:32:31
Edge-Detect basiert auf MSAA und sucht Pixel, deren Subpixel unterschiedliche Werte haben. Diese werden dann geblurrt.

Es kann damit logischerweise nur Kanten glätten die vom MSAA erfasst werden.
Aha... schonmal was von Sobel gehört?

mboeller
2010-04-02, 10:39:23
Aha... schonmal was von Sobel gehört?

Nein, erzähl..

deekey777
2010-04-02, 10:47:13
Wie funktioniert Edge-Detect eigentlich?
Ich hatte das kürzlich in MirrorsEdge ausprobiert und leider feststellen müssen, dass viele Kanten überhaupt nicht erfasst werden.
Was das natürlich etwas unsinnig macht, da es dann mehr kostet und nicht alles glättet =/



Hier wird beschrieben, wie es bei ATi abläuft: http://developer.amd.com/gpu_assets/AA-HPG09.pdf

Spasstiger
2010-04-02, 12:46:53
Aha... schonmal was von Sobel gehört?
Die zu behandelnden Pixel werden bei AMD nicht mit einem Sobel-Filter ermittelt, sondern ergeben sich aus der Kompressionsinformation der MSAA-Buffer. Nur Pixel, die nicht maximal komprimiert in die Buffer geschrieben werden, werden mit einem (gerichteten) Wide-Tent-Filter aufgelöst. Alle anderen mit einem Box-Filter. D.h. es werden nur Kanten erfasst, die auch vom MSAA erfasst werden.

del_4901
2010-04-02, 14:10:56
Die zu behandelnden Pixel werden bei AMD nicht mit einem Sobel-Filter ermittelt, sondern ergeben sich aus der Kompressionsinformation der MSAA-Buffer. Nur Pixel, die nicht maximal komprimiert in die Buffer geschrieben werden, werden mit einem (gerichteten) Wide-Tent-Filter aufgelöst. Alle anderen mit einem Box-Filter. D.h. es werden nur Kanten erfasst, die auch vom MSAA erfasst werden.
Ach stimmt da war irgendso nen Paper, das hieß das Verfahren nicht anders? Edge Detection ist so ein sehr allgemeiner Begriff. Und wenn ich MultiSample Buffer anlege, dann kost mich das ja auch wieder Speicher, aufm PC ist das wurscht aber auf den Konsolen? Letztenendes Funktioniert das ähnlich wie MLAA, nur eben mit der erhöhren Auflösung aus dem MS Buffer. Was ja keine schlechte Idee ist, solang man es sich leisten kann.

Spasstiger
2010-04-02, 15:52:34
Edge Detection ist so ein sehr allgemeiner Begriff.
Edge Detect ist bei AMD nur die Bezeichnung für den Resolve-/Downsampling-Filter.

Und wenn ich MultiSample Buffer anlege, dann kost mich das ja auch wieder Speicher, aufm PC ist das wurscht aber auf den Konsolen?
Das Edge Detect von AMD gibts nicht auf den Konsolen. Und die MSAA-Buffer hast du so oder so, weil das Edge Detect von AMD ja nur in Verbindung mit MSAA funktioniert. Der Vorteil ist halt, dass man eine subjektiv bessere MSAA-Qualität als 8xMSAA erzeugen kann ohne mehr Farbwerte berechnen zu müssen. Geht also von der Wirkung her eher in Richtung des CSAA von Nvidia.

MLAA ist Postprocessing, während das AMD-Edge-Detect eine Erweiterung des bekannten MSAA-Verfahrens darstellt (kein Postprocessing).

Gast
2010-04-02, 16:41:35
Wieso sieht man bei den MLAA geglätten Bildern eigentlich 4 verschiedene Abstufungen wie bei 4xMSAA? So habe ich keinen Blurfilter in Erinnerung.

Das Problem beim MLAA ist dann natürlich, dass es nur funktioniert, sofern es auch harte Kanten gibt, weswegen man es nicht besonders gut mit 'echtem' AA kombinieren kann. Und deswegen ist MLAA auch nicht mit dem Edge-Detect Filter vergleichbar.
Kann man den bei MLAA eingesetzten Filter nicht genau so gut auch auf Polygonenkanten ansetzen statt auf Kontraste?

san.salvador
2010-04-02, 16:55:34
Kann man den bei MLAA eingesetzten Filter nicht genau so gut auch auf Polygonenkanten ansetzen statt auf Kontraste?
Wie willst du die beim Post-Processing finden?

Gast2
2010-04-02, 17:15:57
@san.salvador
Mithilfe des Tiefenpuffers.

Gast
2010-04-02, 17:35:29
@san.salvador
Mithilfe des Tiefenpuffers.

Wie willst du mit dem Z-Buffer die Kanten finden?

Zusätzlich ist ein weiterer Zugriff auf den Z-Buffer auch der Performance nicht unbedingt zuträglich.

anderer Gast
2010-04-02, 17:43:35
Wie willst du die beim Post-Processing finden?
zur Not halt die Daten aller sichtbaren Polygone gesondert speichern




zu MLAA: Ich hätte es gerne auf meiner GeForce 7900 :(

Gast2
2010-04-02, 17:54:54
Wie willst du mit dem Z-Buffer die Kanten finden?

Zusätzlich ist ein weiterer Zugriff auf den Z-Buffer auch der Performance nicht unbedingt zuträglich.

Den Tiefenpuffer kann man sich auch wie eine Graustufenbild vorstellen nur eben mit größerer Genauigkeit, so ähnlich als ob man die Texturen in einem Spiel deaktivieren würde.

In diesem werden nur die Polygone gespeichert und damit hat man dann auch nur die Polygon-Kanten.

Unter DX10+ ist es kein Problem darauf zuzugreifen.
Unter DX9 wird ein extra RT dafür genutzt welches man z.B. so wie so für DOF braucht.
Also warum nicht dafür gleich mit nutzten.

Gast
2010-04-02, 18:39:27
Den Tiefenpuffer kann man sich auch wie eine Graustufenbild vorstellen nur eben mit größerer Genauigkeit, so ähnlich als ob man die Texturen in einem Spiel deaktivieren würde.
ja

In diesem werden nur die Polygone gespeichert und damit hat man dann auch nur die Polygon-Kanten.
Nein, in diesem wird die "Tiefe" gespeichert, nicht die Polygone. Das heißt eine Kante zwischen zwei Polygonen, die in gleicher Tiefe nebeneinander liegen wirst du damit nie finden können.

Gast
2010-04-02, 18:42:09
MLAA schaut demenstprechend wohl bei Standbildern nett aus, und hilft ein bisschen die hochfrequenten Inhalte zu glätten, aber ein zeitliches AA gibts im Gegensatz zum echten AA (was auch Subpixelbewegungen darstellen kann) nicht. Zur Hilfe stelle man sich einfach eine Kante, die sich innerhalb von 5 Bildern um einen Pixel bewegt. Mit echtem AA ist die Bewegung weich (durch der sich änderenden Subpixelabdeckung). Mit MLAA hat man nur den harten Sprung der auch mit noAA auftritt, dafür aber geglättete Polygonkanten.
Dem schließe ich mich an; auf Standbildern sind die Ergebnisse ziemlich brauchbar, aber in Bewegung sieht das ganze praktisch genau so schlecht aus wie der vollständige Verzicht auf AA.

Gast
2010-04-02, 19:38:51
Den Tiefenpuffer kann man sich auch wie eine Graustufenbild vorstellen nur eben mit größerer Genauigkeit, so ähnlich als ob man die Texturen in einem Spiel deaktivieren würde.

Ich weiß was ein Tiefenpuffer ist.


In diesem werden nur die Polygone gespeichert und damit hat man dann auch nur die Polygon-Kanten.

Nein, in einem Z-Buffer (=Tiefenpuffer) wird die Tiefe jedes einzelnen Pixel, also quasi der virtuelle Abstand zur Displayoberfläche, gespeichert.

Das sagt aber überhaupt nichts darüber aus ob es sich um ein Kantenpixel handelt oder nicht.

del_4901
2010-04-02, 19:54:29
Edge Detect ist bei AMD nur die Bezeichnung für den Resolve-/Downsampling-Filter.


Das Edge Detect von AMD gibts nicht auf den Konsolen. Und die MSAA-Buffer hast du so oder so, weil das Edge Detect von AMD ja nur in Verbindung mit MSAA funktioniert. Der Vorteil ist halt, dass man eine subjektiv bessere MSAA-Qualität als 8xMSAA erzeugen kann ohne mehr Farbwerte berechnen zu müssen. Geht also von der Wirkung her eher in Richtung des CSAA von Nvidia.

MLAA ist Postprocessing, während das AMD-Edge-Detect eine Erweiterung des bekannten MSAA-Verfahrens darstellt (kein Postprocessing).
Natürlich kann man das auf Konsolen implementiern, man braucht doch nur Zugriff auf den MS Buffer, man hat nur nicht den Speicher. Und ob das Post ist oder ned ist total mir Wurst, es geht mir darum, wie die Kanten gefunden und rekonstruiert werden. Also um den Algorithmus an sich, und nicht wo der stattfindet.

Gast
2010-04-02, 20:24:26
Nein, in diesem wird die "Tiefe" gespeichert, nicht die Polygone. Das heißt eine Kante zwischen zwei Polygonen, die in gleicher Tiefe nebeneinander liegen wirst du damit nie finden können.

Das ist korrekt, da habe ich mich etwas Unglück ausgedrückt.

Wenn diese genau nebeneinander liegen nicht da stimmt zu, auch wenn das in der Praxis wohl weniger auffällt.
Ein 100% perfektes Ergebnis wird man mit solchen Techniken sowohl mit Tiefenbild als auch mit "Kontrastbild" natürlich nicht hinbekommen.


@Noch ein Gast :)

Ich weiß was ein Tiefenpuffer ist.
Nein, in einem Z-Buffer (=Tiefenpuffer) wird die Tiefe jedes einzelnen Pixel, also quasi der virtuelle Abstand zur Displayoberfläche, gespeichert.

Das sagt aber überhaupt nichts darüber aus ob es sich um ein Kantenpixel handelt oder nicht.

Ruhig Blut ;) ich kann doch nicht wissen was Du weißt.
Meinem erzieltes Ergebnis spricht da eine andere Sprache, oder kurz gesagt es funktioniert.

Gast
2010-04-02, 21:10:08
Ruhig Blut ;) ich kann doch nicht wissen was Du weißt.

Natürlich nicht, war auch nicht böse gemeint sondern nur eine Feststellung.


Meinem erzieltes Ergebnis spricht da eine andere Sprache, oder kurz gesagt es funktioniert.

Du kannst natürlich annehmen, dass es sich um einen Kantenpixel handelt, wenn sich der Z-Wert benachbarter Pixel stark unterscheidet.

Das ist aber genau die selbe Raterei, wie die Annahme, dass es sich um einen Kantenpixel handelt wenn sich die Kontraste stark unterscheiden.

Tendenziell wird natürlich die Kontrastmethode eher zu viel Glätten, die Z-Buffer-Methode zu wenig. Mit der Z-Buffer-Methode wirst du beispielsweise recht zuverlässig Objektaußenkanten finden, Kanten innerhalb eines Objekts dagegen überhaupt nicht.

Tendenziell ist es wohl eher wünschenswert zu viel zu glätten, die Unschärfe fällt jetzt nicht groß auf, ganz im Gegenteil zu Kanten die noch immer nicht geglättet sind.

Konami
2010-04-02, 21:21:16
Kleine Frage eines "Außenstehenden": Da MLAA ja rein "oberflächlich" ist, wäre es doch die ideale Lösung für Spiele, die per se kein AA (auch kein Treiber-erzwungenes) unterstützen, oder?

del_4901
2010-04-02, 21:51:22
Natürlich nicht, war auch nicht böse gemeint sondern nur eine Feststellung.



Du kannst natürlich annehmen, dass es sich um einen Kantenpixel handelt, wenn sich der Z-Wert benachbarter Pixel stark unterscheidet.

Das ist aber genau die selbe Raterei, wie die Annahme, dass es sich um einen Kantenpixel handelt wenn sich die Kontraste stark unterscheiden.

Tendenziell wird natürlich die Kontrastmethode eher zu viel Glätten, die Z-Buffer-Methode zu wenig. Mit der Z-Buffer-Methode wirst du beispielsweise recht zuverlässig Objektaußenkanten finden, Kanten innerhalb eines Objekts dagegen überhaupt nicht.

Tendenziell ist es wohl eher wünschenswert zu viel zu glätten, die Unschärfe fällt jetzt nicht groß auf, ganz im Gegenteil zu Kanten die noch immer nicht geglättet sind.
Innenkanten musst du ja auch gar nicht glätten, wenn das UV-Layout vernünftig gemappt wurde.

Gast2
2010-04-02, 22:59:11
Natürlich nicht, war auch nicht böse gemeint sondern nur eine Feststellung.

Du kannst natürlich annehmen, dass es sich um einen Kantenpixel handelt, wenn sich der Z-Wert benachbarter Pixel stark unterscheidet.

Das ist aber genau die selbe Raterei, wie die Annahme, dass es sich um einen Kantenpixel handelt wenn sich die Kontraste stark unterscheiden.

Tendenziell wird natürlich die Kontrastmethode eher zu viel Glätten, die Z-Buffer-Methode zu wenig. Mit der Z-Buffer-Methode wirst du beispielsweise recht zuverlässig Objektaußenkanten finden, Kanten innerhalb eines Objekts dagegen überhaupt nicht.

Tendenziell ist es wohl eher wünschenswert zu viel zu glätten, die Unschärfe fällt jetzt nicht groß auf, ganz im Gegenteil zu Kanten die noch immer nicht geglättet sind.

Das ist ein Grund warum ich das Tiefenpuffer nutzte, damit eben nicht die "Texturen" mit weichgespült werden.

Bei der Kontrast-Methode ist es schwerer den idealen Schwellwert zu finden um nicht zu viel zu Glätten.
Ich denke da nur mal als Bsp. an die selbe Szene einmal bei Tag und einmal bei Nacht, dises Problem hat die Tiefen-Methode nicht.

@Konami
Im Prinzip schon, ja.

Gast
2010-04-03, 01:10:26
Innenkanten musst du ja auch gar nicht glätten, wenn das UV-Layout vernünftig gemappt wurde.

Das hängt vom Texturinhalt ab. Wenn sich eine Textur über mehrere Polygone spannt muss man natürlich nichts glätten, das übernimmt ja schon der Texturfilter.

Beispielsweise ein einfacher Würfel, bei dem jede Fläche eine deutlich andersfärbige Textur bekommt sollte aber schon geglättete Kanten haben.

Je nach Perspektive werden sich die Z-Werte an der Kante aber nicht sonderlich unterscheiden und das ganze damit nicht als Kante erkannt werden.


Eine der besten Methoden dürfte wohl sein, einfach 2x MSAA durchzuführen und über den MS-Buffer die Kanten erkennen, wie es auch ATI macht.

2x MSAA kostet recht wenig Performance und die Kantenerkennung ist sehr einfach und Zuverlässig, damit wendet man den Blurfilter wirklich nur dort an wo er sinnvoll ist.

Ailuros
2010-04-03, 09:36:44
Edge Detect ist bei AMD nur die Bezeichnung für den Resolve-/Downsampling-Filter.


Das Edge Detect von AMD gibts nicht auf den Konsolen. Und die MSAA-Buffer hast du so oder so, weil das Edge Detect von AMD ja nur in Verbindung mit MSAA funktioniert. Der Vorteil ist halt, dass man eine subjektiv bessere MSAA-Qualität als 8xMSAA erzeugen kann ohne mehr Farbwerte berechnen zu müssen. Geht also von der Wirkung her eher in Richtung des CSAA von Nvidia.

MLAA ist Postprocessing, während das AMD-Edge-Detect eine Erweiterung des bekannten MSAA-Verfahrens darstellt (kein Postprocessing).

Nur ist leider edge detect nicht umsonst im Vergleich zu normalem MSAA. Ich kann mich leider nur noch an RV7x0 Leistungsnummern erinnern von RV8x0 mit all den vorhandenen modi (MSAA, tent, edge detect) hab ich bis jetzt nichts in Erinnerung.

Wenn es zu GeForces kommt und 16xQ dann ist es (bis zu GF100) fraglich ob man mit dem verbundenen Leistungsverlust wirklich besser aufgehoben ist als alternativ mit einem leicht groesserem Leistungsverlust mit 16xS.

Bei Cypress mit den box/tent filter Vergleichen wuerde ich dann auch gleich SSAA Leistungszahlen mit in den Topf werfen. EDAA wird auf jeden Fall schneller sein als 8xSSAA, aber es gibt dann immer noch 4xSSAA und polygon-edge/intersections sind Gott sei Dank immer noch nicht der groesste Anteil einer jeglichen Szene.

Damit wir aber nicht zu stark vom Thema abweichen: MLAA hat von all den vorerwaehnten Methoden zweiffellos die kleinste qualitative Effizienz ist aber auch wohl die billigste aller was Resourcen betrifft.

aths
2010-04-03, 11:33:22
Das MLAA kann schon deshalb nicht funktionieren, weil sehr schwach geneigte Kanten nicht richtig behandelt werden können. Der kann dann – abgesehen von einem engen Bereich um die Pixel-Übergangsstelle – die gesamte Kante verschmieren oder gar nichts.

DrFreaK666
2010-04-03, 16:22:52
Könnte jemand einen Tool basteln, welcher zwischen dem Spiel und D3D hockt?
Würde gerne mal mit MLAA herumexperimentieren :smile:

LuXon
2010-04-03, 16:49:14
Kennt sich nicht Grestorn am besten damit aus? Vllt kann er so etwas machen. Würde mich auch fürchterlich interessieren.

Offtopic: Gibt es die neuen AA-Modis von Fermi eigentlich auch für die GT200-GPU's? Vllt dann erst mit dem 256.xx-Treiber?!?
EDIT: Wenn ich schon dabei bin: gibt es SSAA eigentlich für die Fermi's? Ich meine per nHancer.

Gast
2010-04-03, 18:37:35
Könnte jemand einen Toll basteln, welcher zwischen dem Spiel und D3D hockt?
Meinten Sie: einen Troll?

Gast
2010-04-04, 11:57:19
Offtopic: Gibt es die neuen AA-Modis von Fermi eigentlich auch für die GT200-GPU's?


Sicher nicht, die Änderungen brauche Hardwareunterstützung, wäre schon seltsam, wenn die Hardware bereits im G200 vorhanden wäre und man sie erst jetzt freischaltet ;)

OC_Burner
2010-04-04, 14:44:18
Okay hier nochmal ein Vergleichvideo mit Crysis als Content.

Bei dem Video ist ziemlich gut zu sehen wie auch die Texturen verwaschen werden (inklusive 2pass MLAA).

MLAA Vergleich Crysis HQ Version (http://www.oc-burner.de/ftp/Videos/AntiAlias/MLAA/test/MLAA_(2009_Intel_tool)_Vergleich_Crysis_HQ.mp4)

Wirklich gefallen tut mir MLAA nicht. Einzig und allein zur nachträglich Aufbearbeitung von Bildern taugt das Verfahren.

DrFreaK666
2010-04-04, 16:05:38
Sicher nicht, die Änderungen brauche Hardwareunterstützung, wäre schon seltsam, wenn die Hardware bereits im G200 vorhanden wäre und man sie erst jetzt freischaltet ;)

das wäre ja nichts Neues (AAA bei den Radeons)

Exxtreme
2010-04-04, 17:06:47
Okay hier nochmal ein Vergleichvideo mit Crysis als Content.

Bei dem Video ist ziemlich gut zu sehen wie auch die Texturen verwaschen werden (inklusive 2pass MLAA).

MLAA Vergleich Crysis HQ Version (Mirror1) (http://www.oc-burner.de/ftp/incoming/MLAA%20Vergleich_Crysis_HQ.mp4)
MLAA Vergleich Crysis HQ Version (Mirror2) (https://sfm.hidrive.strato.com/lnk/dhHNDL3I?dl)

Wirklich gefallen tut mir MLAA nicht. Einzig und allein zur nachträglich aufbearbeitung von Bildern taugt das Verfahren.
Danke für die Videos. also doch nix anderes als ein etwas besserer Unschärfefilter.

Gast2
2010-04-04, 19:48:08
@OC_Burner
Danke für die Mühe!

Bei 2pass MLAA ist es klar das es zu verwaschen aussieht, da wird ja auch mehrfach weichgespühlt.
Hier wäre statt dessen ein Vergleich zu MSAA sinnvoller.

Bei 1pass MLAA sie das Ergebnis schon ganz gut.
Man sollte bedenken das man mit dem Tool den Schwellwert nicht optimal anpassen kann und das die Kontrast-Methode verwendet wird.

Bei einem schlechten Schwellwert wird eben zuviel als eine Kante erkannt und mit Geglättet.

Gast
2010-04-04, 20:26:47
Wie es angepasst aus sieht wurde ja schon in dem Saboteur Video gezeigt.

Gast
2010-04-04, 20:38:13
das wäre ja nichts Neues (AAA bei den Radeons)

AAA ist auch eine reine Software-Geschichte, dafür reicht "normale" programmierbare Hardware.

Gast
2010-04-05, 11:40:52
Wieviel Leistung frisst MLAA denn auf der PS3 bzw. wieviel SPUs arbeiten daran? Ist schon bekannt, wieviel leistung es auf PC-Grafikkarten brauchen würde?

Gast
2010-04-05, 14:05:49
Wenn ich das noch richtig zusammen bekomme 20ms auf 5 SPUs und schneller als MSAA soll es auch sein.

Gast
2010-04-05, 14:23:32
Wieviel Leistung frisst MLAA denn auf der PS3 bzw. wieviel SPUs arbeiten daran? Ist schon bekannt, wieviel leistung es auf PC-Grafikkarten brauchen würde?

Keine Ahnung, aber wenn man sieht wie viel selbst ATIs einfache edge-detection kostet, kann ich mir nicht vorstellen, dass die deutliche komplexere edge-detection da wesentlich schneller läuft und da PC-GPUs genügend Performance und Bandbreite für MSAA haben bezweifle ich mal dass es in der Regel einen großen Performancevorteil gibt. (Außnahmen sind sicher Engines mit Deferred Rendering etc., die MS auf zig Renderbuffer anwenden müssten, während man MLAA logischerweise nur auf das Endergebnis anwenden muss)

anderer Gast
2010-04-05, 15:56:47
Wenn ich das noch richtig zusammen bekomme 20ms auf 5 SPUs und schneller als MSAA soll es auch sein.
Wenn man bedenkt wieviel Leistung der Cell hat, dann ist das eine ganze Menge. Zumindest wird MLAA nur deswegen auf der PS3 schneller sein als MSAA, weil die GPU das MLAA nicht berechnen muss.

Gast2
2010-04-05, 17:37:34
Die Geschwindigkeit nach jetzigem Stand ist gleichauf mit MSAA.
Ich nutzte aber ein zusätzliches RT für die Tiefe unter DX9 und der Shader ist noch nicht optimal/fertig, es würde also noch schneller sein.

Wie ich schon angedeutete sollte man MLAA nicht als Konkurrenz sehen sonder als eine neue Methode.

Jeder andere Methode hat auch ihre Vor- und Nachteile und ihre Einsatzgebiet.

Bei MLAA ist der Speed und die Möglichkeit unter DX9 und deferred rendering AA zu bieten oder um AA nachzurüsten.

@OC_Burner
Erstellst Du vielleicht noch ein Video mit MSAA anstatt 2 pass MLAA zum Vergleich?

unwissender Gast
2010-04-06, 00:23:48
nächste "dumme" Frage: Wie kommen wir dazu, MSAA nutzen zu können?
Müssen wir warten, bis die GPU-hersteller es in ihre Treiber integrieren? Oder könnte es sowas bald als Freeware-Zusatz zum Treiber geben?
Könnte es unabhängig vom Treiber einfach in eine Game-Engine integriert werden?

unwissender Gast
2010-04-06, 00:24:40
nächste "dumme" Frage: Wie kommen wir dazu, MSAA nutzen zu können?
Müssen wir warten, bis die GPU-hersteller es in ihre Treiber integrieren? Oder könnte es sowas bald als Freeware-Zusatz zum Treiber geben?
Könnte es unabhängig vom Treiber einfach in eine Game-Engine integriert werden?
gemeint war MLAA und nicht MSAA

Gast
2010-04-06, 11:16:45
Die Spiele müssten es integrieren. Metro ist ja ein Beispiel, das einen derartigen Filter integriert hat, imo gibt es auch so was ähnliches in Crysis, zumindest für die Vegetation.

Prinzipiell wäre natürlich auch ein Postfilter über den Treiber möglich, aber das wird wohl nur bis DX9 funktionieren.

Gast2
2010-04-06, 14:29:21
nächste "dumme" Frage: Wie kommen wir dazu, MLAA nutzen zu können?
Müssen wir warten, bis die GPU-hersteller es in ihre Treiber integrieren? Oder könnte es sowas bald als Freeware-Zusatz zum Treiber geben?
Könnte es unabhängig vom Treiber einfach in eine Game-Engine integriert werden?

Mir fallen da folgende Möglichkeiten ein

- Das Spiel selber nutzt es
- Der Treiber unterstützt es, z.B wie bei Nvidia und SSAO
- Per Tool mit der Methode wie sie auch Fraps nutzt.

Prinzipiell wäre natürlich auch ein Postfilter über den Treiber möglich, aber das wird wohl nur bis DX9 funktionieren.

Warum sollte das per Treiber nur bis DX9 funktionieren, sehe da keinen Grund das es mit DX10+ nicht geht.

Gast
2010-04-06, 18:27:53
Warum sollte das per Treiber nur bis DX9 funktionieren, sehe da keinen Grund das es mit DX10+ nicht geht.

Warum geht generell kein erzwungenes AA mit DX10+? (nicht mal die "aufwerten"-Funktion von NV funktioniert)

aths
2010-04-06, 19:04:13
Die Aufwerten-Funktion geht eh nur wenn die Anwendung (bis DX9) von sich aus MSAA anfordert.

Gast
2010-04-06, 19:55:01
Die Aufwerten-Funktion geht eh nur wenn die Anwendung (bis DX9) von sich aus MSAA anfordert.

Bei Nvidia schon, wenn es spezielle AA Bits gibt. Farcry2 lässt sich z.b. auch unter DX10 "aufwerten".

Gast2
2010-04-06, 19:55:07
Warum geht generell kein erzwungenes AA mit DX10+? (nicht mal die "aufwerten"-Funktion von NV funktioniert)

Nun das ist aber was anderes als das von Dir angesprochene "Postfilter über Treiber".

Da wo die "Fraps Methode" funktioniert, da würde auch MLAA gehen, ein Treiber hätte hier noch (viel) mehr Möglichkeiten.
Das Nvidia Treiber SSAO ist auch nichts weiter als ein "Postfilter".

Gast
2010-04-07, 13:10:04
Das Nvidia Treiber SSAO ist auch nichts weiter als ein "Postfilter".

Das funktioniert aber auch nur wenn der Treiber es extra auf das Spiel anpasst.

Gast2
2010-04-07, 14:25:17
Das funktioniert aber auch nur wenn der Treiber es extra auf das Spiel anpasst.

Korrekt, das liegt daran das man für das SSAO zusätzlich noch den Tiefenpuffer braucht, und den muss man erst finden.
Die Aussage bezog sich auch mehr auf "Postfilter".

Beim MLAA braucht man "nur" das fertige Bild und nichts mehr (wenn man die Kontrast-Methode anwendet).

G4ST
2010-04-29, 00:54:36
Wäre ein MLAA, welches nur auf transparente Texturen beschränkt ist, wesentlich schneller, als Full-Screen-MLAA? Man bräuchte ja schließlich nur die Übergänge zur Transparenz behandeln.

aths
2010-04-29, 09:23:41
Wie willst du wenn du nur den Framebuffer hast wissen, ob du auf einer transparenten Textur bist?

del_4901
2010-04-29, 10:20:04
Man kann sowas schon ueber Depth Peeling machen, aber da steht der Aufwand nicht mehr zum Nutzen denke ich.

Coda
2010-04-29, 11:10:58
Warum geht generell kein erzwungenes AA mit DX10+? (nicht mal die "aufwerten"-Funktion von NV funktioniert)
Weil die API Zugriff auf individuelle Samples in den Shadern erlaubt. Wenn das Programm also 8 Samples anfordert und der Shader 8 verrechnen will, aber dann durch den Treiber das Rendertarget 4 erzwingt, dann funktioniert das ganze einfach nicht mehr.

Ab 10.1 kann man auch den Shader auf beliebige Subsample laufen lassen (Supersampling). NVIDIA scheint das TSSAA in D3D10/11 also nicht damit, sondern über eine Multisample-Mask und mehrfaches rendern der gleichen Geometrie zu machen, denn sonst gäbe es da auch Kollisionen.

Korrekt, das liegt daran das man für das SSAO zusätzlich noch den Tiefenpuffer braucht, und den muss man erst finden.
Naja, das ist eigentlich weniger das Problem. Das Problem ist eher rauszufinden was das Hauptrendertarget ist.

DrFreaK666
2010-10-29, 12:02:26
Habe die Sourcedateien mithilfe von VisualBasic 2008 zu einer ausführbaren exe compilieren lassen. Funktioniert nun wie jedes normale Kommandozeilenprogramm. Die Testbilder sollte man vorher natürlich ins ppm Format bringen.
...

Könntest du die Datei wieder hochladen??
THX