Archiv verlassen und diese Seite im Standarddesign anzeigen : Shaderantialiasing
Die Crysis-Beta hat eins gezeigt: In einem modernen Spiel ist Shaderantialiasing unerträglich und normales AA bringt nicht viel.
Es wird endlich Zeit sich des Themas anzunehmen und zu schauen, was man außer FSSSAA noch dagegen tun kann!
Sry es sollte natürlich Shaderaliasing heißen. (Der Titel kann aber so bleiben.) Shaderantialiasing ist das, was hier gesucht wird.
Die Crysis-Beta hat eins gezeigt: In einem modernen Spiel ist Shaderantialiasing unerträglich und normales AA bringt nicht viel.
Es wird endlich Zeit sich des Themas anzunehmen und zu schauen, was man außer FSSSAA noch dagegen tun kann!Z.B. CFAA in der breitzeltigen Variante sollte einigermaßen wirksam sein, ebenso ein nachträglicher Unschärfepostfilter. FSSSAA wäre natürlich zu bevorzugen, da es zwar mehr Leistung kostet, aber keine übermäßige Unschärfe für hinreichende Wirksamkeit benötigt. Auch - oder vielmehr gerade - mit FSSSAA wären andere Downfilter als der Boxfilter generell besser.
Soviel zu nachträglichen Möglichkeiten. Am besten ist es natürlich, wenn vom ISV die Shader so geschrieben werden, dass hochfrequente Anteile schon in diesen AA abbekommen, dann reicht auch MSAA + TMAA/TSAA. Wird wohl leider ein Wunschtraum bleiben, zu viele ISVs halten selbst simples MSAA für ein Luxusfeature und/oder arbeiten mit negativem Textur-LOD, nehmen es also billigend in Kauf, dass für ein wenig zusätzliche Schärfe alles wie die Seuche flimmert.
Sonyfreak
2007-09-18, 18:53:48
Z.B. CFAA in der breitzeltigen Variante sollte einigermaßen wirksam sein, ebenso ein nachträglicher Unschärfepostfilter.Es wäre aber wohl kein guter Tausch, das Flimmern von gewissen Bildteilen durch einen generellen Unschärfepostfilter wieder wegzubringen. CFAA würde bei Shaderaliasing wenig bis gar nichts bringen, da diese AA-Variante ja nur in der Umgebung von Geometriekanten wirksam ist, während das Flimmern auch großflächig innerhalb der Geometrie auftreten kann.
mfg.
Sonyfreak
Was man außer Supersampling dagegen tun kann ist die Shader anzupassen. Daran können die IHVs rein gar nichts ändern.
Demirug
2007-09-18, 19:28:33
Mit D3D10.1 gibt es da eine interessante Neuerung um das Problem zu lösen. Ich darf leider nicht ins Detail gehen.
Mit D3D10.1 gibt es da eine interessante Neuerung um das Problem zu lösen. Ich darf leider nicht ins Detail gehen.
Wann wird es denn Infos dazu geben? Gibt es da eine NDA mit Ablaufdatum?
So wie sich's in manchen Folien anhört ist es einfach kontrollierbares Supersampling. Ob die Performance da so toll ist ist halt die Frage.
So wie sich's in manchen Folien anhört ist es einfach kontrollierbares Supersampling. Ob die Performance da so toll ist ist halt die Frage.
Kostet das im Worst Case dann auch wieder so viel wie FS-SS? ;)
MfG,
Raff
Kommt drauf an wie es implementiert ist. Eventuell kann man gezielt nur bestimmte Dinge pro Pixel mehrfach berechnen. Das wäre möglich wenn man Samplepositionen im Shader kennt und gezielt in die Subpixel schreiben kann vom Shader aus.
Wenn man alles mehrfach rechnet ist es natürlich aber wieder normales Supersampling.
Wieso? Wenn man nur den Teil des Bildes supersampelt, der es auch nötig hat, dann hat man doch bessere Leisung, als wenn man FSSS hat, wo man Bildbereiche behandelt, die das gar nicht zwingend brauchen, oder nicht?
Also sowas wie TSAA, nur für Shader.
Der Worst-Cast ist aber alles mit Supersampling bearbeiten zu müssen. Kapisch?
Demirug
2007-09-18, 19:55:13
Wann wird es denn Infos dazu geben? Gibt es da eine NDA mit Ablaufdatum?
Spätestens wenn Vista SP1 kommt. Ich hoffe dass aber schon im nächsten SDK mehr davon öffentlich gemacht wird.
Der Worst-Cast ist aber alles mit Supersampling bearbeiten zu müssen. Kapisch?
Klar, aber das wäre ja auch nicht schlimmer als FSSS. Ich dachte, dass gemeint sei, dass als Worst Case schlechtere Leistung als bei FSSS rauskommen kann, obwohl man eben noch nicht da angekommen ist alles damit zu rechnen. Man hätte also bei Anwendung dieses Verfahrens auf das gesammte Bild spürbar weniger Leistung, als wenn man gleich zu einem pauschalen FSSS greift. Das war meine Befürchtung.
Das Problem ist halt wenn die Entwickler faul sind und problematische Shader immer supersamplen. Da kann man auch viel mit besseren Berechnungen retten ohne gleich mit der Brutalo-Methode zu kommen.
Das Problem ist halt wenn die Entwickler faul sind und problematische Shader immer supersamplen. Da kann man auch viel mit besseren Berechnungen retten ohne gleich mit der Brutalo-Methode zu kommen.
Darüber wurde hier ja land und breit diskutiert. :smile: Du musst auch zugeben, dass der Aufwand jeden Shader und jede Textur auf Flimmeranfälligkeit zu prüfen und diese zu minimieren um einiges größer ist, als einfach mal FSSSAA anzuwürfeln und alles gebügelt zu kriegen.
Außerdem ist es bei Spielen wie Crysis sowieso der Fall, dass man sie erst in Zukunft mit allen Details in hohen Auflösungen und brauchbaren AA-Modi wird spielen können. Da macht noch ein bisschen mehr Zeit, bis man es mit Supersampling nutzen kann den Brei auch nicht mehr fett.
Darüber wurde hier ja land und breit diskutiert. :smile: Du musst auch zugeben, dass der Aufwand jeden Shader und jede Textur auf Flimmeranfälligkeit zu prüfen und diese zu minimieren um einiges größer ist, als einfach mal FSSSAA anzuwürfeln und alles gebügelt zu kriegen.
Es geht nur um die Shader. Die Texturen müssen schon ziemlich beschissen sein, damit sie auf heutigen GPUs wirklich stark flimmern.
Außerdem ist es bei Spielen wie Crysis sowieso der Fall, dass man sie erst in Zukunft mit allen Details in hohen Auflösungen und brauchbaren AA-Modi wird spielen können. Da macht noch ein bisschen mehr Zeit, bis man es mit Supersampling nutzen kann den Brei auch nicht mehr fett.
Wenn du das Shaderflimmern bei Crysis mit Supersampling eliminieren würdest hättest du vielleicht noch die Hälfte der Leistung. Super Idee.
Es wäre aber wohl kein guter Tausch, das Flimmern von gewissen Bildteilen durch einen generellen Unschärfepostfilter wieder wegzubringen.Ansichtssache. Ich hab die Grafik lieber etwas weniger scharf als so überscharf, dass es in den Augen schmerzt.
CFAA würde bei Shaderaliasing wenig bis gar nichts bringen, da diese AA-Variante ja nur in der Umgebung von Geometriekanten wirksam ist, während das Flimmern auch großflächig innerhalb der Geometrie auftreten kann.Das von dir beschriebene ED-CFAA würde nix bringen, davon halte ich eh nicht viel. Narrow und Wide Tent sind aber durchaus wirksam, ebenso wie Quincunx und 4x9tap bei NV.
Sonyfreak
2007-09-19, 00:17:02
Ansichtssache. Ich hab die Grafik lieber etwas weniger scharf als so überscharf, dass es in den Augen schmerzt.Abgesehen davon, dass ein unbehandeltes Bild nicht überscharf, sondern einfach ganz normal ist, ist das für mich so und so eine Wahl zwischen Pest und Cholera. In dem Fall würde ich mich wohl für ein Bild mit Shaderaliasing entscheiden, da dieses im Normalfall nur kleine Teile und nicht das ganze Bild betrifft.
Das von dir beschriebene ED-CFAA würde nix bringen, davon halte ich eh nicht viel. Narrow und Wide Tent sind aber durchaus wirksam, ebenso wie Quincunx und 4x9tap bei NV.Wie schon erwähnt mögen diese Filter zwar wirksam sein, nur als generelle und gute Lösung taugen sie nunmal leider nicht.
mfg.
Sonyfreak
Abgesehen davon, dass ein unbehandeltes Bild nicht überscharf, sondern einfach ganz normal ist, ist das für mich so und so eine Wahl zwischen Pest und Cholera. In dem Fall würde ich mich wohl für ein Bild mit Shaderaliasing entscheiden, da dieses im Normalfall nur kleine Teile und nicht das ganze Bild betrifft.Für Shaderaliasing gilt das gleiche wie für negatives Textur-LOD: Zu hochfrequent für die gewählte Abtastfrequenz. Tiefpass (->Unschärfefilter) hilft.
Wie schon erwähnt mögen diese Filter zwar wirksam sein, nur als generelle und gute Lösung taugen sie nunmal leider nicht.Ist halt eine Abwägung des persönlichen Geschmacks. Wenns Tempo nicht für hohe Auflösung + SSAA reicht, kann ein wenig Unschärfe sinnvoller sein als eine Auflösungsreduktion, um wieder SSAA reinbuttern zu können. Überhaupt ist Unschärfe nicht so schlimm (bzw. nicht generell negativ) wie von vielen gedacht, aber das Thema wurde hier und auf b3d ja schon bis zum Gehtnichmehr diskutiert. OK, ein Teilbereich wurde noch nicht genug beleuchtet, aber vielleicht haucht Coda seinem diesbezüglichen Thread ja neues Leben ein.
Was soll ich dazu denn noch sagen? Ich finde dass etwas anderes als ein Boxfilter mit Multisampling nicht unbedingt sinnvoll ist.
Vielleicht noch, inwiefern Centroid Sampling da mit reinspielt. Das bedeutet doch, wenn ich da nix falsch verstanden habe, dass die Farbwertberechnung (oder nur das Textursampling?) nicht nur an der Pixelposition, sondern auch an Samplepositionen erfolgen kann, stimmts?
Centroid Sampling bedeutet bloß, dass die Textursamples an den Edges auf jeden Fall innerhalb des Dreiecks genommen werden.
http://msdn.microsoft.com/archive/en-us/directx9_c_Dec_2004/directx/Art/Antialias7.gif
Ganz richtig ist das auch nicht, aber es hilft wenn man Texturatlanten verwendet wie bei Lightmaps.
Was soll ich dazu denn noch sagen? Ich finde dass etwas anderes als ein Boxfilter mit Multisampling nicht unbedingt sinnvoll ist.Der Meinung war ich auch mal.
Für Shaderaliasing gilt das gleiche wie für negatives Textur-LOD: Zu hochfrequent für die gewählte Abtastfrequenz. Tiefpass (->Unschärfefilter) hilft.Das ist viel zu kurz gegriffen.
Der Meinung war ich auch mal.
Du hast meinen Satz nicht verstanden. Man beachte das "Multi" in "Sampling".
Etwas anderes als ein Boxfilter ist ohne Supersampling einfach nur falsch.
Du hast meinen Satz nicht verstanden. Man beachte das "Multi" in "Sampling".
Etwas anderes als ein Boxfilter ist ohne Supersampling einfach nur falsch.Der Boxfilter ist auch beim Multisampling ein schlechter Filter um die Geometrie anzuzeigen. Mit Multisampling nimmt bei größeren Kerneln natürlich die Texturunschärfe schnell überhand, was man dann auch wieder nicht will.
Ich weiß. Aber du wirst wenn du Multisampling benützt mit einem anderen Filter als Box immer verdammt viel Texturunschärfe erzeugen, was bei Supersampling nicht der Fall ist.
Deshalb ist Edge-Detect von ATi auch gar nicht so blöd, wenn auch nicht perfekt, weil trotzdem noch "falsch" Samples genommen werden an manchen Stellen.
Banshee18
2007-09-22, 17:41:24
Deshalb ist Edge-Detect von ATi auch gar nicht so blöd, wenn auch nicht perfekt, weil trotzdem noch "falsch" Samples genommen werden an manchen Stellen.
Blöd ist, dass die 2900XT mit Edge-Detect stark einbricht. Ist das ein R600-spezifisches Problem oder frisst dieser Modus generell sehr viel Leistung?
Wenn es in Hardware implementiert wäre in den ROPs wäre das fast so schnell wie normales Downsampling möglich meiner Meinung nach.
Ich weiß. Aber du wirst wenn du Multisampling benützt mit einem anderen Filter als Box immer verdammt viel Texturunschärfe erzeugen, was bei Supersampling nicht der Fall ist.
Deshalb ist Edge-Detect von ATi auch gar nicht so blöd, wenn auch nicht perfekt, weil trotzdem noch "falsch" Samples genommen werden an manchen Stellen.Ja, der Edge-Detect-Modus bräuchte einen größeren Kernel um besser zu laufen, die ATI-Lösung bietet jedoch schon ziemlich brauchbare Qualität. Mal sehen wann NV nachzieht.
Wenn es in Hardware implementiert wäre in den ROPs wäre das fast so schnell wie normales Downsampling möglich meiner Meinung nach.Das wäre nur eine Zwischenlösung. Wenn man schon AB und AT im Shader macht, kann man auch AA-Resolve im Shader machen. Mit D3D10.1-Hardware müsste das eigentlich möglich sein. Klingt erst mal nach Verschwendung, aber Shaderleistung dürfte stärker wachsen als Speicherbandbreite.
Banshee18
2007-09-23, 18:50:13
Klingt erst mal nach Verschwendung, aber Shaderleistung dürfte stärker wachsen als Speicherbandbreite.
Gerade beim R600 bei der 2900XT sollte die Speicherbandbreite eigentlich das kleinere Problem sein.
Gerade beim R600 bei der 2900XT sollte die Speicherbandbreite eigentlich das kleinere Problem sein.Da würde mich interessieren warum die Einbrüche mit AA so stark sind. "ROP-Füllrate" sollte bei aktueller Pixelkomplexität praktisch keine Rolle mehr spielen.
Banshee18
2007-09-23, 20:20:35
Da würde mich interessieren warum die Einbrüche mit AA so stark sind. "ROP-Füllrate" sollte bei aktueller Pixelkomplexität praktisch keine Rolle mehr spielen.
Ein Bug in der Architektur? Ein Treiberproblem? Wir erinnern uns: Die 2900XT hat mehr Speicherbandbreite als die 8800GTX, die trotzdem deutlich weniger durch den Gebrauch von AA einbricht.
Das wurde eigentlich alles schon oft diskutiert, ohne die wirkliche Lösung herauszufinden.
Das wäre nur eine Zwischenlösung. Wenn man schon AB und AT im Shader macht, kann man auch AA-Resolve im Shader machen. Mit D3D10.1-Hardware müsste das eigentlich möglich sein. Klingt erst mal nach Verschwendung, aber Shaderleistung dürfte stärker wachsen als Speicherbandbreite.
Alphablending macht man nicht im Shader. Auch mit D3D10.1 nicht.
Exxtreme
2007-09-23, 20:59:28
Die Crysis-Beta hat eins gezeigt: In einem modernen Spiel ist Shaderantialiasing unerträglich und normales AA bringt nicht viel.
Es wird endlich Zeit sich des Themas anzunehmen und zu schauen, was man außer FSSSAA noch dagegen tun kann!
Mhhh, "nachträglich" geht ausser SSAA wohl nix ausser die IHVs tauschen mal wieder Shader aus per Treiber. Naja, wird endlich mal Zeit, daß die Füllrate mal so richtig steigt und man die Krücke namens MSAA über Bord schmeisst. :D
ethrandil
2007-09-23, 21:39:20
Wie wärs denn mit: Alle Texturen die dafür ausgezeichnet wurden supersampeln bevor sie in den shadercode kommen. Die Shaderausführung ist also gleichlang, nur die Eingabedaten werden gefiltert.
- eth
IceLord
2007-09-23, 21:44:44
Wie wärs denn mit: Alle Texturen die dafür ausgezeichnet wurden supersampeln bevor sie in den shadercode kommen. Die Shaderausführung ist also gleichlang, nur die Eingabedaten werden gefiltert. Das Shaderaliasing entsteht doch erst durch die Berechnungen im Shader. Die Texturen werden ja sowieso gefiltert.
Das von dir beschriebene ED-CFAA würde nix bringen, davon halte ich eh nicht viel. Narrow und Wide Tent sind aber durchaus wirksam, ebenso wie Quincunx und 4x9tap bei NV.
dummerweise nutzen blur-filter gegen flimmern so gut wie überhaupt nicht, es entsteht zwar ein glatterer bildeindruck, aber gegen flimmern hilft es nix, dazu müsste der unschärfefilter schon extrem stark sein.
robbitop
2007-09-26, 14:20:12
Da würde mich interessieren warum die Einbrüche mit AA so stark sind. "ROP-Füllrate" sollte bei aktueller Pixelkomplexität praktisch keine Rolle mehr spielen.
Naja die werden ja oefter gerbraucht, als nur bei der Beendung eines Pixels im Framebuffer. Shadowmapping, Stencilshadows, Blending. All das kommt im Renderprozess wohl oefter vor, als man denkt.
ethrandil
2007-09-26, 15:13:30
Noch ne unqalifizierte Bemerkung:
Wieso nicht ein paar alte Bilder einrechnen? Quasi handgemachte Schlieren. Das vorherige Frame wird einfach halb dazugenommen. (Natürlich nur auf ausgezeichneten Oberflächen)
- eth
Noch ne unqalifizierte Bemerkung:
Wieso nicht ein paar alte Bilder einrechnen? Quasi handgemachte Schlieren. Das vorherige Frame wird einfach halb dazugenommen. (Natürlich nur auf ausgezeichneten Oberflächen)
- eth
Genau das wird beim Motion Blur gemacht.
Nein. Das ist kein Motion Blur.
Lawmachine79
2007-09-26, 19:10:10
Wäre es nicht einfacher, sich die ganze komplizierte MSAA-Logik zu sparen und sie durch brachiale Füllrate zu ersetzen?
Nein, weil es so schnellen RAM nicht gibt und es total unsinnig ist.
robbitop
2007-09-26, 19:25:44
Wäre es nicht einfacher, sich die ganze komplizierte MSAA-Logik zu sparen und sie durch brachiale Füllrate zu ersetzen?
Du meinst SSAA? Nein. Da stehen die Kosten in keinem guten Verhaeltnis zum Nutzen.
Mstrmnd
2007-09-26, 20:26:51
Du meinst SSAA? Nein. Da stehen die Kosten in keinem guten Verhaeltnis zum Aufwand.
Du meinst Kosten bzw. Aufwand zum Ergebnis bzw. Gewinn. :wink:
robbitop
2007-09-26, 20:29:18
Danke, fixed. ;)
Lawmachine79
2007-09-26, 21:36:14
Tjoar, aber besser als gar kein AA. Das schlimme ist, daß es viele Konsolenports betrifft, die per se schon bescheiden aussehen.
dummerweise nutzen blur-filter gegen flimmern so gut wie überhaupt nicht, es entsteht zwar ein glatterer bildeindruck, aber gegen flimmern hilft es nix, dazu müsste der unschärfefilter schon extrem stark sein.Nur wie stark wäre zu stark? Nehmen wir mal als Beispiel ein System, was ein flimmriges Spiel flüssig mit 1600x1200 darstellen kann. Um das Geflimmer einzudämmen könnten wir auf 800x600 runtergehen und 2x2 SSAA einschalten. Wir könnten aber auch einen Unschärfefilter über das Bild legen, der auch bei 1600x1200 ähnlich effektiv Geflimmer unterdrückt. Letzteres wäre besser, weil bei durch SSAA bedingter Auflösungsreduktion nicht nur das Geflimmer eingedämmt wird, sondern auch Lokalitätsinformationen vernichtet werden. Optimal wäre natürlich ein System mit genügend Power, trotz aktivem SSAA die Auflösung nicht reduzieren zu müssen. Auch ich würde eigentlich am liebsten die ganze MSAA-/CSAA-Logik gegen ein paar zusätzliche Shader und TMUs eintauschen.
Gouvernator
2007-09-27, 21:51:40
Nur wie stark wäre zu stark? Nehmen wir mal als Beispiel ein System, was ein flimmriges Spiel flüssig mit 1600x1200 darstellen kann. Um das Geflimmer einzudämmen könnten wir auf 800x600 runtergehen und 2x2 SSAA einschalten. Wir könnten aber auch einen Unschärfefilter über das Bild legen, der auch bei 1600x1200 ähnlich effektiv Geflimmer unterdrückt. Letzteres wäre besser, weil bei durch SSAA bedingter Auflösungsreduktion nicht nur das Geflimmer eingedämmt wird, sondern auch Lokalitätsinformationen vernichtet werden. Optimal wäre natürlich ein System mit genügend Power, trotz aktivem SSAA die Auflösung nicht reduzieren zu müssen. Auch ich würde eigentlich am liebsten die ganze MSAA-/CSAA-Logik gegen ein paar zusätzliche Shader und TMUs eintauschen.
Gebe dir vollkommen Recht. Mein Samsung TV beherrscht solchen "Filter" vom Haus aus. Ich stelle bei allen xbox360 Spielen die Schärfe von 50 auf 0-10 das sichert das ich von meinem Sitzabstand nichts aber auch wirklich nichts von Flimmern merke. Gäbe diese Funktion auch für VGA Anschlüss und der LCD eine höhere Auflösung darstellen könnte wie die 1600x1200 dann gebe für mich nichts besseres. Ich würde die ganzen AA Sachen sofort vergessen. 4xAA und 1600x1200 und die Schärfe auf null 2 m Sitzabstand bei 32" ... ich schlafe und träume davon. =)
Sonyfreak
2007-09-27, 22:04:35
Gebe dir vollkommen Recht. Mein Samsung TV beherrscht solchen "Filter" vom Haus aus. Ich stelle bei allen xbox360 Spielen die Schärfe von 50 auf 0-10 das sichert das ich von meinem Sitzabstand nichts aber auch wirklich nichts von Flimmern merke. Gäbe diese Funktion auch für VGA Anschlüss und der LCD eine höhere Auflösung darstellen könnte wie die 1600x1200 dann gebe für mich nichts besseres. Ich würde die ganzen AA Sachen sofort vergessen. 4xAA und 1600x1200 und die Schärfe auf null 2 m Sitzabstand bei 32" ... ich schlafe und träume davon. =)Na wenns dich glücklich macht. Vielleicht hab ich hier irgendwo im Haus ein defektes VGA-Kabel. Das löst auch so eine dezente Unschärfe aus. :rolleyes:
mfg.
Sonyfreak
Gouvernator
2007-09-27, 22:14:09
Na wenns dich glücklich macht. Vielleicht hab ich hier irgendwo im Haus ein defektes VGA-Kabel. Das löst auch so eine dezente Unschärfe aus. :rolleyes:
mfg.
Sonyfreak
Du verstehst das nicht. Du musst erstmal diese Funktion kennen ist so eine Samsung LCD Spezialität.
Du hast den Eindruck das sie wirklich den content glättet. Also Aliasing Kanten verschwinden dann komplett, mit Unschärfe allein ist die Arbeit nicht getan...
Bumsfalara
2007-09-28, 02:02:53
Du verstehst das nicht. Du musst erstmal diese Funktion kennen ist so eine Samsung LCD Spezialität.
Du hast den Eindruck das sie wirklich den content glättet. Also Aliasing Kanten verschwinden dann komplett, mit Unschärfe allein ist die Arbeit nicht getan...
Oh man. Du stolperst vom einen Extrem ins nächste.
Erste waren es überdimensionierte Auflösungen, bei denen die Lochmaske gnadenlos überfahren wurde -> In dieser Zeit deiner Entwicklung war geflimmer und viel schärfe das Tagesthema
Anschließend bist du auf minimalauflösungen ausgewichen und eine möglichst hohe Hz-Zahl und Bildwiederholfrequenz zu erreichen. Matsch war an der Tagesordnung.
Und jetzt raubst du deinem Samsungsfernseher jedwede Schärfe, um das Bild zu "glätten"...
Gouvernator
2007-09-28, 12:58:18
Oh man. Du stolperst vom einen Extrem ins nächste.
Erste waren es überdimensionierte Auflösungen, bei denen die Lochmaske gnadenlos überfahren wurde -> In dieser Zeit deiner Entwicklung war geflimmer und viel schärfe das Tagesthema
Anschließend bist du auf minimalauflösungen ausgewichen und eine möglichst hohe Hz-Zahl und Bildwiederholfrequenz zu erreichen. Matsch war an der Tagesordnung.
Und jetzt raubst du deinem Samsungsfernseher jedwede Schärfe, um das Bild zu "glätten"...
Ich weiss schon was ich tue, keine Angst :smile:
Was schlechteres werde ich mir sicher nicht antun...
Bumsfalara
2007-09-28, 13:57:03
Ich weiss schon was ich tue, keine Angst :smile:
Was schlechteres werde ich mir sicher nicht antun...
Kannst du Screenshots erstellen?
Würde mich persönlich interessieren. Ich will dir ja gar nicht unterstellen, dass es nichts bringt. Aber manchmal kann ich deine Wandlung von einem Extrem zum Nächsten nicht ganz nachvollziehen.
Nicht böse verstehen. :)
Mstrmnd
2007-09-28, 14:18:32
Leider wird man wohl kaum einen Screenshot machen, wo man PostProcessing seines Fernsehers sieht. :wink:
Und ein Foto wäre wertlos, wenn er nicht gerade eine High-End-DSLR mit passendem Objektiv und Stativ hat. :wink:
Bumsfalara
2007-09-28, 14:56:34
Leider wird man wohl kaum einen Screenshot machen, wo man PostProcessing seines Fernsehers sieht. :wink:
Und ein Foto wäre wertlos, wenn er nicht gerade eine High-End-DSLR mit passendem Objektiv und Stativ hat. :wink:
Naja, heutige Digitalcameras sind schon in der Lage extrem Detailgetreue Bilder zu schießen.
Mit der richtigen Einstellung, ein bissl Mühe und Muskelschmalz kann man da schon was drauß machen.
Gouvernator
2007-09-28, 15:09:24
Naja, heutige Digitalcameras sind schon in der Lage extrem Detailgetreue Bilder zu schießen.
Mit der richtigen Einstellung, ein bissl Mühe und Muskelschmalz kann man da schon was drauß machen.
Ja ich könnte mein LCD mit normaler Schärfe abfotografieren, dann kommt ungefähr aufs gleiche raus was ich mit Schärfe Null sehe.
Die Kameras sind für diesen Zweck villeicht ausreichend aber nicht Objektiv. So ein Ding kann sich kein normaler Mensch leisten.
Hier ein Vergleich mit SKATE. Einmal Schärfe 100 und einmal 0 - in beiden Fällen bitte nicht erschrecken.
http://rapidshare.com/files/58855138/skate.rar
2xjpeg 3000x2000 4 mb
Bumsfalara
2007-09-28, 18:01:43
Ja ich könnte mein LCD mit normaler Schärfe abfotografieren, dann kommt ungefähr aufs gleiche raus was ich mit Schärfe Null sehe.
Die Kameras sind für diesen Zweck villeicht ausreichend aber nicht Objektiv. So ein Ding kann sich kein normaler Mensch leisten.
Hier ein Vergleich mit SKATE. Einmal Schärfe 100 und einmal 0 - in beiden Fällen bitte nicht erschrecken.
http://rapidshare.com/files/58855138/skate.rar
2xjpeg 3000x2000 4 mb
Ja, man erkennt daran aber recht gut was du meinst.
Klar, die Kanten sind bei Schärfe 0 total weg. Allerdings die Texturen fast ebenso, sie wirken dadurch recht undetailiert. Wobei man das natürlich auch auf die Kamera schieben kann.
Ich persönlich tendiere absolut zum scharfen Bild. Aber das muss auch jeder für sich selbst entscheiden.
Oder ist das auf die Kamera zu schieben?
Gouvernator
2007-09-29, 08:24:15
Ja, man erkennt daran aber recht gut was du meinst.
Klar, die Kanten sind bei Schärfe 0 total weg. Allerdings die Texturen fast ebenso, sie wirken dadurch recht undetailiert. Wobei man das natürlich auch auf die Kamera schieben kann.
Ich persönlich tendiere absolut zum scharfen Bild. Aber das muss auch jeder für sich selbst entscheiden.
Oder ist das auf die Kamera zu schieben?
Das könnte die Kamera sein, fokus und so... Aber hast schon Recht die Texturdetails verschwinden. Aber nur ganz kleine. Bei Stranglehold ist das z.B. Blutflecken an seiner Jacke. Das ist mir ehrlich speziell bei so Spielen ohne AA und AF und mit 720p total unwichtig ich will möglichst aliasingfreies "PC" Bild , weil
bei dem Aliasing geht die ganze Atmosphäre verloren. So hab ich (mit gedimmter Helligkeit,Schärfe 0) absolut realistisches Bild, asl wenn jemand ne Art Zeichentrickfilm vorführt - mit null aliasing, und flimmern.
robbitop
2007-09-29, 09:37:56
Das könnte die Kamera sein, fokus und so... Aber hast schon Recht die Texturdetails verschwinden. Aber nur ganz kleine. Bei Stranglehold ist das z.B. Blutflecken an seiner Jacke. Das ist mir ehrlich speziell bei so Spielen ohne AA und AF und mit 720p total unwichtig ich will möglichst aliasingfreies "PC" Bild , weil
bei dem Aliasing geht die ganze Atmosphäre verloren. So hab ich (mit gedimmter Helligkeit,Schärfe 0) absolut realistisches Bild, asl wenn jemand ne Art Zeichentrickfilm vorführt - mit null aliasing, und flimmern.
Aliasing ist das Resultat einer generelle Unterabtastung, nicht nur eine Unterabtastung der Kanten. Was du tust, kann man fast mit Quincunx vergleichen. (wobei ich den Schaerfealgo nicht kenne) Du vernichtest Bildinformationen. Das Bild wird also objektiv schlechter.
ethrandil
2007-09-29, 12:38:24
Ohoh, noch ein unqualifizierter Beitrag:
Bei Texturen braucht man doch auch MIP-Levels [oder so]. Das selbe Problem hat man bei Shadern ja auch.
Ergo: Entfernte Oberflächen stark weichzeichnen - oder andere Shader die das selber tun.
Klar - Unterabtastung ist die Ursache, aber das kann man auch umgehen indem man die Strukturen vergrößert sobald die Abtastrate sinkt.
Hab ichs endlich? *g*
- eth
Aquaschaf
2007-09-29, 12:54:00
Bei Texturen braucht man doch auch MIP-Levels [oder so]. Das selbe Problem hat man bei Shadern ja auch.
Ergo: Entfernte Oberflächen stark weichzeichnen - oder andere Shader die das selber tun.
Da Shader in der Regel auf Texturen arbeiten lösen Mip-Maps das Problem eigentlich. Bei weiter entfernten Oberflächen andere Shader zu verwenden macht man eher um Rechenaufwand zu sparen.
Exxtreme
2007-09-29, 13:25:28
Vergleicht doch nicht AA mit Unschärfe. Beide Effekte machen eigentlich das Gegenteil. AA sorgt dafür, daß man MEHR Bildinformationen erhält, Unschärfe vernichtet diese und man bekommt objektiv weniger als vorher.
ethrandil
2007-09-29, 13:32:26
Ja also mir gings um Flimmern. Wenn ein Shader flimmert liegt das an Unterabtastung. Und sei es weil der Shader zu 'hakelig' auf die Eingabetexturen reagiert (weil er schlecht geschrieben ist). Und dann muss man halt dafür sorgen, dass keine unterabtastung stattfindet, wenn man schon nicht den Shader ändern kann.
Ansonsten verstehe ich nicht wieso KantenAA bei Shadern nicht funktionieren soll o.o
- eth
AA sorgt dafür, daß man MEHR Bildinformationen erhält, Unschärfe vernichtet diese und man bekommt objektiv weniger als vorher.
Ja, aber Flimmern ist ja effektiv zu viel [sprunghafte] Information in zu kurzer Zeit, oder?
Exxtreme
2007-09-29, 14:15:09
Ja, aber Flimmern ist ja effektiv zu viel [sprunghafte] Information in zu kurzer Zeit, oder?
Nein, ist es nicht.
Flimmern entsteht dann wenn die Informationen nicht "pixelgerecht" vorbereitet werden. Virtuell hat ein Pixel ohne AA/AF nur einen Abtastpunkt und der ist in der Mitte. Der Farbton, der die Mitte schneidet füllt den Pixel komplett aus. Bei Bewegungen kann sich dieser Farbton in der Mitte schnell ändern was den gesamten Pixel blinken lässt. Und sind's viele Pixel dann flimmert es.
AA tut nichts anderes als einem Pixel virtuell mehrere Abtastpunkte zu verpassen. Diese ergeben dann anteilig die endgültige Farbe. Ändert sich die Farbe an einem Subpixelpunkt dann hat das bei weitem nicht so heftige Auswirkungen als wie wenn der Pixel nur einen Abtastpunkt hätte.
Bei AF passiert was Ähnliches nur halt mehr in die y-Achse bzw. in die Blickrichtung. Deshalb hat SSAA schon immer AF integriert wenn der Treiber das merkt und den LOD-Bias entsprechend anpasst.
Nein, ist es nicht.Doch, ist es. Nur etwas kurz ausgedrückt.
Flimmern entsteht dann wenn die Informationen nicht "pixelgerecht" vorbereitet werden. Virtuell hat ein Pixel ohne AA/AF nur einen Abtastpunkt und der ist in der Mitte. Der Farbton, der die Mitte schneidet füllt den Pixel komplett aus. Bei Bewegungen kann sich dieser Farbton in der Mitte schnell ändern was den gesamten Pixel blinken lässt. Und sind's viele Pixel dann flimmert es.Das muss nicht immer Flimmern sein.
AA tut nichts anderes als einem Pixel virtuell mehrere Abtastpunkte zu verpassen. Diese ergeben dann anteilig die endgültige Farbe. Ändert sich die Farbe an einem Subpixelpunkt dann hat das bei weitem nicht so heftige Auswirkungen als wie wenn der Pixel nur einen Abtastpunkt hätte.Stimmt erst mal, aber die Erklärung führt trotzdem in die Irre. Antialiasing bezieht mehr Informationen ein und erhöht die Grenze (im Frequenzbereich) ab der (sowieso) unterabgetastet wird. (Mathematisch exakte Geometrie wird bei einem Pixelraster immer unterabgetastet.)
Bei AF passiert was Ähnliches nur halt mehr in die y-Achse bzw. in die Blickrichtung. Deshalb hat SSAA schon immer AF integriert wenn der Treiber das merkt und den LOD-Bias entsprechend anpasst.Bei SSAA muss das LOD eigentlich nicht angepasst werden, Ausnahme ist SSAA à la VSA-100. AF ist aber kein Antialiasing welches den Kontrast die Farbwerte der Pixel in räumlicher oder zeitlicher Betrachtung senkt, sondern erhöht. (Verzerrte Texturen werden schärfer.) Dank AF wird (im Idealfall) das LOD der kleinsten Verzerrung pro Achse herangezogen und nicht das der größten. "Y-Achse" oder auch "Blickrichtung" sind hier verwirrend bis falsch.
Da Shader in der Regel auf Texturen arbeiten lösen Mip-Maps das Problem eigentlich. Bei weiter entfernten Oberflächen andere Shader zu verwenden macht man eher um Rechenaufwand zu sparen.Das Problem ist einerseits, dass man im Shader nicht immer die resultierenden Frequenzen im Vorhinein bestimmen kann. Andererseits ist das Problem, dass sich Datenfelder (Texturen) die Shader nutzen, nicht immer sinnvoll mippen lassen.
Vergleicht doch nicht AA mit Unschärfe. Beide Effekte machen eigentlich das Gegenteil. AA sorgt dafür, daß man MEHR Bildinformationen erhält, Unschärfe vernichtet diese und man bekommt objektiv weniger als vorher.
Ein nicht unbedeutender Teil der "Bildschärfe" in einem durchschnittlichen gerenderten Bild ist Aliasing. Gutes Antialiasing sollte diese entfernen, somit wird das Bild unschärfer.
Ich würde übrigens das Wort "objektiv" beim Bildqualitätsvergleich komplett weglassen. Die Qualität von Antialiasing ist subjektiv.
lilgefo~
2010-03-24, 21:40:36
Mit D3D10.1 gibt es da eine interessante Neuerung um das Problem zu lösen. Ich darf leider nicht ins Detail gehen.
Was war jetzt die Neuerung die du meintest?
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.