PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fullscreen-Effekte und AA


Demirug
2003-07-05, 18:10:42
In letzter Zeit erscheinen immer mehr Spiele mit Fullschreen Effekten die aber nicht zusammen mit AA funktionieren. Der Grund dafür liegt in der Art und Weise wie diese Fullschreen Effekte erzeugt werden müssen:

Normalerweise rendert ein Grafikchip direkt in den Back-Buffer welcher nachdem das Bild komplett ist zum Front-Buffer (das was man sieht) wird. Möchte man nun aber ein Fullschreen Effekt benutzen ist es notwendig das für jeden Pixel nocheinmal eine Berechung durchgeführt wird. Dies kann nur in den Pixelshadern erfolgen. Diese können aber nun leider nicht die im Back-Buffer gespeicherten Werte auslesen. Aus diesem Grund ist man gezwungen das gesamten Bild zuerst in eine Texture zu rendern welche dann in einem letzten Schritt von den Pixelshadern wieder eingeladen wird und nach der Durchführung des Fullschreen Effekts in den Back-Buffer geschrieben wird. Da der eigentliche Rendervorgang also nicht mehr im Backbuffer erfolgt nützt es reichlich wenig für diesen AA zu aktivieren. Es ist sogar kontraproduktiv weil man dafür Leistung opfert aber nichts davon hat.

Gerendert wird wie schon gesagt in eine Texture. DirektX kann zwar auch mit Texturen umgehen in welche man unter Verwendung von AA rendern kann aber hier verweigern sich unter DX8 AFAIK alle Treiber/Chips. Mit DX9 gibt es jetzt neue zusätzliche Möglichkeiten für das rendern in Texturen unter Verwendung von AA.

Auf der XBox funktioniert das ganze besser weil man dort mehr Kontrolle über den Speicher hat. Diese mass an Kontrolle ist aber auf einem PC nicht möglich weil man es mit unterschiedlichen Grafikchips, CPUs und Mainboard Chipsätzen zu tun hat.

Zusammenfassung:

1. Bei Spielen die Fullschreen Effekte haben und noch DX8 benutzten ist davon auszugehen das AA und diese Effekte nicht gleichzeitig möglich sind. Der Grund ist eine Treiber/Chip beschränkung.

2. In jedem Fall sollte man bei solchen Spielen die Kontrolle des AA dem Spiel überlassen wenn man die Fullschreen effekte benutzten möchte. Hat das Spiel keine Einstellung für das AA hat man sowieso verloren. Wenn man das AA trotzdem erzwingt hat man im besten Fall nur einen Leistungsverlust im schlimmsten Fall gibt es Bildfehler.

3. Die XBox hat eine andere Speicherverwaltung und kann in diesem Punkt deshalb nicht als Vergleich dienen

4. Benutzt das Spiel DX9 und der Chip/Treiber unterstützt das rendern in Texturen mit AA besteht Hoffnung das beides (AA und Fullschreen Effekte) gleichzeitig möglich ist. Aber nur wenn das AA über die Applikation eingestellt und nicht über den Treiber erzwungen wird.

Exxtreme
2003-07-05, 20:52:21
Hmm, Supersampling dürfte theoretisch NICHT davon betroffen sein, oder?

Quasar
2003-07-05, 21:03:31
Original geschrieben von Exxtreme
Hmm, Supersampling dürfte theoretisch NICHT davon betroffen sein, oder?

Wenn man nicht Supersampling via Multisample-Buffer macht, schon.

Auf der GeForceFX jedenfalls half es nichts, bei MotoGP2 2x2-Supersampling zu erzwingen, es galt immer noch entweder FX oder AA.

Demirug
2003-07-05, 21:23:11
Original geschrieben von Exxtreme
Hmm, Supersampling dürfte theoretisch NICHT davon betroffen sein, oder?

Ja und nein.

Für Supersampling in der Form als vom Treiber angebotenes AA-Verfahren gilt das gleiche wie für MSAA. Der Treiber/Chip müsste "Render to AA-Texture" unterstüzten.

Rendern man nun die Texture (welche das eigentliche Bild darstellt) mit einer höheren Auflösung und läst das ganze dann beim Erzeugen des Fullscreeneffekts herunter rechnen hätte man selbst gemachtes Supersampling AA.

Allerdings gibt es auch dabei Probleme:

- Es geht nur OG. (auch bei 2xAA)

- Da viele Karten nur maximal Texturen bis 2048 Pixel breite unterstützen könnte man nicht mehr als 1024er Auflösungen fahren.

zeckensack
2003-07-06, 00:21:59
Original geschrieben von Demirug
- Es geht nur OG. (auch bei 2xAA)

- Da viele Karten nur maximal Texturen bis 2048 Pixel breite unterstützen könnte man nicht mehr als 1024er Auflösungen fahren. Beide Limitation lassen sich durchbrechen, wenn man mehrere R2T-Durchläufe über die Szene macht, und diese dann am Ende mit Multitexturing zusammenfügt. Auf die Weise kann man wahlweise beliebiges sparse sampled SS realisieren, oder gar gleich an der Geometrie 'jittern' (letzteres kennt man möglicherweise schon vom 3dfxschen T-Buffer).

Dabei gilt natürlich, daß man nicht nur (wie bei 'normalem' SS) Füllrate verbrät, sondern eben das komplette Rendering wiederholt, inklusive VS.

Gutes AA kostet eben Leistung ;)

nggalai
2003-07-06, 09:59:46
Aber in dem Fall müsste doch SSAA durch die Applikation gesteuert werden, nicht? ???

93,
-Sascha.rb

Demirug
2003-07-06, 10:09:15
Original geschrieben von nggalai
Aber in dem Fall müsste doch SSAA durch die Applikation gesteuert werden, nicht? ???

93,
-Sascha.rb

Ja. Aber auch wenn man das SS nur durch eine grössere Texture erreicht muss sich die Applikation darum kümmern. Bei Zeckensacks vorschlag ist der Aufwand natürlich viel grösser.

Mephisto
2003-07-16, 10:26:28
Kann bitte mal jemand Beispiele für diese Fullscreeneffekte nennen?!

Demirug
2003-07-16, 10:36:28
Original geschrieben von Mephisto
Kann bitte mal jemand Beispiele für diese Fullscreeneffekte nennen?!

- Tiefenunschärfe
- Nachtsicht geräte blick
- Auf alten schwarzweiss film trimmen.
- ...

nggalai
2003-07-16, 10:54:04
Hola,

ich schlage vor, dass wir hier auch gleich noch eine Liste der betroffenen Spiele mit reinhängen. Ich fang mal an.

[1] Nur Spezialeffekte ODER Anti-Aliasing.
[2] Kein Anti-Aliasing offiziell unterstützt.

- MotoGP 2 [1]
- Tomb Raider - Angel of Darkness [1]
- Splinter Cell [2]

93,
-Sascha.rb

Salvee
2003-07-17, 20:20:38
Ergänzung:

MotoGP 1 [1]
Midnight Club 2 [1]
DTM/TOCA Race Driver [1]

nggalai
2003-07-18, 15:24:35
Noch ein Kandidat:

Half Life 2 [NV 2]
http://www.forum-3dcenter.org/vbulletin/showthread.php?s=&threadid=83025

Zwar nicht genau dasselbe Problem, aber nah dran.

93,
-Sascha.rb

silverhawk
2003-07-19, 04:48:43
Ist denn das Supersampling Verfahren nur bei NV möglich oder auch bei ATi, und wenn ja dann wie?

mapel110
2003-07-19, 05:52:35
Original geschrieben von silverhawk
Ist denn das Supersampling Verfahren nur bei NV möglich oder auch bei ATi, und wenn ja dann wie?

radeon 8500/9000/9100/9200 können nur supersampling AA (und quincunx ähnliches ;) ).

silverhawk
2003-07-19, 08:51:04
und was iss mit der 9700/9800? :)

Alfons
2003-07-23, 15:12:28
Original geschrieben von nggalai
Hola,

ich schlage vor, dass wir hier auch gleich noch eine Liste der betroffenen Spiele mit reinhängen. Ich fang mal an.

[1] Nur Spezialeffekte ODER Anti-Aliasing.
[2] Kein Anti-Aliasing offiziell unterstützt.

- MotoGP 2 [1]
- Tomb Raider - Angel of Darkness [1]
- Splinter Cell [2]

93,
-Sascha.rb

TomRaider? Was passiert denn, wenn man das AA in den SpieleSettings einstellt. Hat man dann kein Hitzeflimmern usw.?

nggalai
2003-07-23, 15:23:05
Korrekt. Keine Full-Screen-Effekte wie Tiefenunschärfe und Hitzeflimmern etc.

93,
-Sascha.rb

Nasenbaer
2003-07-23, 17:27:01
Wenn also Render-To-Texture so problematisch ist, warum kann man dann unter 3DMark200x FSAA aktivieren obwohl dieses Feature genutzt wird (Hatte mit ner alten Savage2000 mal ne Fehlermeldung bekommen in der mir gesagt wurde, dass die Karte das nicht kann und deshalb die Demo von 3DMark2001 nicht läuft)?

Mfg Nasenbaer

Man_In_Blue
2003-08-06, 03:04:22
Hmmm.

Ich grübel nun schon seid einigen Stunden an dieser Problematik...

Ich hatte dann follgenden geistwsblitz:
Könnte man die Fullscreen Effekte nicht komplet umgehen in dem man diese Effekte (ich nem jetzt mal als beispiel das Hitzeflimmern) auf eine Textur Packt die genu vor dem betrachter aufgebaut wird und wie eine Art filter fungirt?

(Hoffe ihr versteht was ich meine)

EDIT:

Hatte gerade noch einen Einfall:
Kann man nicht einfach alle Bilder 2X berechnen? EInmal mit AA und einmal mit demm Fullscreen Effekt und diese dann quasi übereinander legen? (man müsste dann natürlich eine Art Gamma Korektur oder änliches beim AA verwendet um den wirkungsgrad bei zu behalten)

Demirug
2003-08-06, 07:21:28
Original geschrieben von Man_In_Blue
Hmmm.

Ich grübel nun schon seid einigen Stunden an dieser Problematik...

Ich hatte dann follgenden geistwsblitz:
Könnte man die Fullscreen Effekte nicht komplet umgehen in dem man diese Effekte (ich nem jetzt mal als beispiel das Hitzeflimmern) auf eine Textur Packt die genu vor dem betrachter aufgebaut wird und wie eine Art filter fungirt?

(Hoffe ihr versteht was ich meine)

Besagte Fullscreen Effekte müssen den Inhalt des Bilds in den Pixelshadern bearbeiten deswegen reicht ein einfacher filter leider nicht aus.

EDIT:

Hatte gerade noch einen Einfall:
Kann man nicht einfach alle Bilder 2X berechnen? EInmal mit AA und einmal mit demm Fullscreen Effekt und diese dann quasi übereinander legen? (man müsste dann natürlich eine Art Gamma Korektur oder änliches beim AA verwendet um den wirkungsgrad bei zu behalten)

Ja das wäre dann ein Art Supersampling allerdings nur als OG. Da viele Chips auch nur Texturen bis 2048 unterstützen sind dann nicht mehr als 1024 Pixel Bildschirmauflösung drin. Und Supersampling ist sehr teuer.

Leonidas
2003-08-25, 13:54:53
Original geschrieben von Demirug
1. Bei Spielen die Fullschreen Effekte haben und noch DX8 benutzten ist davon auszugehen das AA und diese Effekte nicht gleichzeitig möglich sind. Der Grund ist eine Treiber/Chip beschränkung.



Splinter Cell + Radeon-gfx: AA funtzt über rTool und ist auch nachweislich da. Nur die Performance ist erbärmlich (14 fps).

Quasar
2003-09-05, 21:11:13
Welche Auflösung, welches Demo? Soo schlecht läuft's bei mir nicht.

The_Invisible
2003-10-02, 17:35:53
hm, darum wird bei TRAOD also der ganze untere kasten deaktiviert wenn man AA aktiviert

mfg

nggalai
2003-10-02, 19:09:15
Noch ein Spiel:

Final Fantasy XI läuft offiziell nicht mit Fullscreen-Effekten und FSAA.

93,
-Sascha.rb

LovesuckZ
2003-10-02, 19:12:40
sowie Halo.

mapel110
2003-10-18, 04:12:26
Original geschrieben von LovesuckZ
sowie Halo.

lässt sich aber umgehen in dem man alpha texturing abschaltet in der config.txt

"DisableAlphaRenderTargets" unter dem jeweiligen graka-chip eingeben =)

[dzp]Viper
2003-10-22, 12:51:01
Original geschrieben von mapel110
lässt sich aber umgehen in dem man alpha texturing abschaltet in der config.txt

"DisableAlphaRenderTargets" unter dem jeweiligen graka-chip eingeben =)

aber nur mit grafikfehlern (fehlende texturen oder/und explosionen)

Mordred
2003-10-22, 13:40:52
Mal son Gedanke von mir...

Von Matrox gibts ja dieses AA verfahren welches wirklich nur die KAnten bearbeitet und den Rest nicht anpackt. Müsste das nicht (wenn mans mal zur Vollendung bringt) die Lösung für derartige rProbleme sein?

Demirug
2003-10-22, 14:07:25
Original geschrieben von [KoC]Mordred
Mal son Gedanke von mir...

Von Matrox gibts ja dieses AA verfahren welches wirklich nur die KAnten bearbeitet und den Rest nicht anpackt. Müsste das nicht (wenn mans mal zur Vollendung bringt) die Lösung für derartige rProbleme sein?

Nein, das Problem ist ja nicht das AA-Verfahren sondern das Verwalten von Datenbuffern.

Piffan
2003-10-22, 18:32:49
Wenn also das gesamte Bild als Textur gehandhabt wird, dann kann Multisampling ja gar nicht klappen...Aber was wäre, wenn ich erstmal gemütlich das Multisampling durchführe, dann den Buffer-Inhalt in eine Textur rendere und da meinen ach so tollen Effekt ershadern lasse? Damit hätte ich doch das Problem der Abtast- Ungenauigkeit der Geometrie ausgeschaltet...Also nicht das Multisampling ans Ende stellen, sondern als Zwischenschritt handhaben..

Ist es nicht vielmehr eine Sache des Treibers als eine echte Hardwarelimitation?

Wäre es eigentlich schwierig, das FSAA nur zu deaktivieren, wenn tatsächlich mal ein Fullscreeneffekt verlangt wird? Wann schaltet man den schon auf Nachtsicht oder bildet Hitzewabern der Luft nacht? Wenn sich zwei Effekte beißen, dann wird halt für den kurzen Moment das FSAA deaktiviert....wahrscheinlich gayts auch nicht, denn auf so tolle Ideen wie der kleine Piffan sind andere schon lange gekommen ;)

Demirug
2003-10-22, 19:02:38
Piffan, das Problem ist das man den Framebuffer nicht als Quelle für einen Shader benutzten kann. Nur Texturen können von einen Pixelshader ausgelesen werden. Zudem kann man den Zeitpunkt des Downsamplings nicht bestimmen. Die Chips dürfen das machen wenn sie wollen.

Deine Lösung ist aber denoch schon die richtige. Also

1. Szene mit MSAA rendern.
2. Downsamplen.
3. Fullscreen Effekt berechnen.

Damit das aber funktioniert braucht man einen Treiber der es erlaubt das man ein MSAA fähiges Renderziel anlegt welches wiederum als Texture benutzt werden kann und vor dem ersten auslesen downgesampelt wird. DX9 erlaubt sowas aber die Treiber/Hardware müssen eben mitspielen. Die Hardware sollte es eigentlich können. Auf der XBox funktioniert es jedenfalls.

Das mit dem dynamischen an und abschalten von AA funktioniert leider nicht weil man dafür jedesmal das Device rücksetzten muss und das würde dann flackern und die Framerate entgültig in den Keller schicken.

GloomY
2004-01-03, 02:56:59
Original geschrieben von Demirug
Piffan, das Problem ist das man den Framebuffer nicht als Quelle für einen Shader benutzten kann. Nur Texturen können von einen Pixelshader ausgelesen werden.Blöde Frage von mir: Wie sieht das mit dem Stencil Buffer aus?

Dieser muss doch auch für den Pixelshader verfügbar sein, sonst kann man den doch gar nicht sinnvoll benutzen, oder? Der Stencil Buffer entscheidet doch ob auf das zugehörige Pixel irgend ein Effekt angewandt wird oder nicht...

Demirug
2004-01-03, 03:52:59
Original geschrieben von GloomY
Blöde Frage von mir: Wie sieht das mit dem Stencil Buffer aus?

Dieser muss doch auch für den Pixelshader verfügbar sein, sonst kann man den doch gar nicht sinnvoll benutzen, oder? Der Stencil Buffer entscheidet doch ob auf das zugehörige Pixel irgend ein Effekt angewandt wird oder nicht...

Mit einem Pixelshader hat man auf den Stencilbuffer keinen Zugriff.

Alles was mit Stencilbuffer zu tun hat gehört nach wie vor zu den Fixed Functions.

Man hat da relative wenige Möglichkeiten. Zunächst gibt es da den Stenciltest selbst. Dabei wird der Wert im Stencilbuffer gebrüft. Ist diese Prüfung erfolgreich wird das Ergebnisse des Pixelshaders auch wirklich in den Framebuffer geschrieben ansonsten verworfen. Für die Prüfung darf man eine Function (<,>, ==, usw.) einen Bezugswert angeben. Zusätzlich kann man über eine Bitmaske noch bestimmen welche Bits des Stencilbuffers über einbezogen werden sollen.

Um in auszulesen muss man ihn vorher natürlich auch verändern können. Dazu gibt es zum einen die Möglihckeit den Buffer komplett mit einem bestimmten Wert vorzubesetzten. Möchte man nun nur den Stencilwert von einzelne (Sub)Pixel verändern so braucht man Geometrie die an der entsprechenden Stelle Pixel erzeugt. Dabei wird dann ein Z-test und der Stenciltest durchgeführt. Entsprechend dem Testergebniss wird dann eine von 3 wählbaren Funktionen ausgeführt. Es stehen da zum Beispiel auf 0 setzten oder auch um 1 erhöhen bzw verringern zur Verfügung. Beim "Two-Side Stencil" wird zusätzlich noch gebrüft ob man sich auf der Vorder oder Rückseite der Fläche befindet. Die 3 Ziel-Funktionen sowie die Testfunktion lassen sich dann für beide Seiten getrennt einstellen. Das ist im Prinzip alles was man mit den Stencilbuffer machen kann.

SynchroM
2004-01-07, 13:02:32
Original geschrieben von Piffan
Wäre es eigentlich schwierig, das FSAA nur zu deaktivieren, wenn tatsächlich mal ein Fullscreeneffekt verlangt wird? Wann schaltet man den schon auf Nachtsicht oder bildet Hitzewabern der Luft nacht? Wenn sich zwei Effekte beißen, dann wird halt für den kurzen Moment das FSAA deaktiviert....wahrscheinlich gayts auch nicht, denn auf so tolle Ideen wie der kleine Piffan sind andere schon lange gekommen ;)

Ich glaube das genau das in MaxPayne2 gemacht wird:
Während dem normalen Spiel sahen bei mir alle Kannten schön glatt aus; sobald aber ein Unschärfe- Effekt eingeschaltet wurde (z.B. beim Nachladen) war der Kanntenglättung dahin.

Aber das Problem tritt NICHT NUR IN Fullscreeneffekten auf:
Wenn sich der Max im Spiegel sieht, so ist der zwar immer noch kanntengeglättet, sein Spiegelbild aber nicht!

Ich vermute irgendwie dass die Heersteller BEWUST das AA für Rendervorgänge in den Buffer weggelassen haben um Leistung zu sparen.
Es ist meistens ja auch nicht sichtbar, weil das in den Buffer gerenderte Bild normal übelst verzerrt wird. (z.B. bei Reflektion im Wasser oder auf dem Lack eines Autos).

SynchroM
2004-01-07, 13:14:25
...Beispiel dass mich auf die Palme bringt!!!
*grrrrrrrrrrr*
Vor allem wenn man mal AA gewohnt ist...
http://www2.fht-esslingen.de/~mimuit01/NFS%20Underground.JPG

Coda
2004-01-08, 17:46:45
Ich vermute irgendwie dass die Heersteller BEWUST das AA für Rendervorgänge in den Buffer weggelassen haben um Leistung zu sparen.
Es ist meistens ja auch nicht sichtbar, weil das in den Buffer gerenderte Bild normal übelst verzerrt wird. (z.B. bei Reflektion im Wasser oder auf dem Lack eines Autos).
Nein. Max Payne ist DirectX 8 und kann somit gar kein AA bei render-to-texture anwenden.
Das trifft auf den Spiegel und auf Reflexionen zu (sind beides Cube Maps).

Godmode
2004-02-11, 20:22:44
und welche effekt sind da jetz richtig gemeint? sowas wie blur effekte oder wie versteh ich dass jetz? hatten sie in hl2 auch nicht mal ein prob mit AA? ich glaube es entstand dadurch das sie aus einer großen textur mehrere kleine augelesen haben! und dann teile von der nebentextur auf der verwendeten textur zu sehen waren.

DanMan
2004-07-13, 21:06:58
JointOps hat auch Fullscreen-Effekte. :d

anorakker
2004-07-14, 11:02:49
und die funktionieren zumindest mit meiner 9500pro@omega4.7 nicht mit AA (demoversion - weiss nicht ob es in der full anders ist)

saaya
2004-08-12, 16:41:49
was ist denn zb mit reflexionen auf einer ps oberflaeche, a la far cry?

wenn etas auf dem wasser reflektiert wird ist die reflexion oft unscharf und verpixelt. liegt das an dem ps und wie genau der rechnet, oder kann man das mit aa beheben?

zeckensack
2004-08-12, 17:07:39
was ist denn zb mit reflexionen auf einer ps oberflaeche, a la far cry?

wenn etas auf dem wasser reflektiert wird ist die reflexion oft unscharf und verpixelt. liegt das an dem ps und wie genau der rechnet, oder kann man das mit aa beheben?Nein, das liegt nicht an der Shader-Präzision.
Spiegelungen löst man idR durch "environment maps", die entweder statisch vorberechnet sind (dann bewegt sich in der Spiegelung aber nichts), oder durch "render to texture" dynamisch erzeugt werden.

Solche env maps werden dann auf die spiegelnde Oberfläche geklebt, in dem Fall eben auf das Wasser.

Das Problem ist nun, dass die env maps nur eine begrenzte Auflösung haben, idR nicht mehr als 512x512, oft noch kleiner. Die Verpixelung kommt dann dadurch zustande, dass diese Textur vergrössert werden muss, um auf die Oberfläche zu passen. Ist genau wie wenn man zwei Millimeter vor einer texturierten Wand steht. Die wird auch zwangsläufig zu Pixelbrei zerfliessen.

saaya
2004-08-12, 17:13:49
Nein, das liegt nicht an der Shader-Präzision.
Spiegelungen löst man idR durch "environment maps", die entweder statisch vorberechnet sind (dann bewegt sich in der Spiegelung aber nichts), oder durch "render to texture" dynamisch erzeugt werden.

Solche env maps werden dann auf die spiegelnde Oberfläche geklebt, in dem Fall eben auf das Wasser.

Das Problem ist nun, dass die env maps nur eine begrenzte Auflösung haben, idR nicht mehr als 512x512, oft noch kleiner. Die Verpixelung kommt dann dadurch zustande, dass diese Textur vergrössert werden muss, um auf die Oberfläche zu passen. Ist genau wie wenn man zwei Millimeter vor einer texturierten Wand steht. Die wird auch zwangsläufig zu Pixelbrei zerfliessen.

hmmm 512x512? hmmmm das ist doch eigentlich garnicht so schlecht...

naja und beim wasser wird die textur dann ja noch zusaetzlich verzerrt, was einige teile der textur noch weiter vergoessert.

aber wenn man direkt im wasser oder davor ist, dann sind die texturen weniger verpixelt als wenn man weiter vom wasser weg steht. liegt dass dann daran dass das wieder unter ne andere lod faellt weil es weiter weg ist?

zeckensack
2004-08-12, 17:55:54
hmmm 512x512? hmmmm das ist doch eigentlich garnicht so schlecht...

naja und beim wasser wird die textur dann ja noch zusaetzlich verzerrt, was einige teile der textur noch weiter vergoessert.

aber wenn man direkt im wasser oder davor ist, dann sind die texturen weniger verpixelt als wenn man weiter vom wasser weg steht. liegt dass dann daran dass das wieder unter ne andere lod faellt weil es weiter weg ist?Oi, so wie du es schilderst, werden wohl keine Mipmaps für die Spiegelung erzeugt, sodass sich die üblichen Artefakte einstellen. Ich hatte mich da zu sehr auf den Aspekt "unscharf" konzentriert.

Disclaimer: ich besitze Far Cry nicht, und habe die Demo nach fünf Minuten für langweilig befunden und deinstalliert :udevil:

saaya
2004-08-12, 18:04:11
Oi, so wie du es schilderst, werden wohl keine Mipmaps für die Spiegelung erzeugt, sodass sich die üblichen Artefakte einstellen. Ich hatte mich da zu sehr auf den Aspekt "unscharf" konzentriert.

Disclaimer: ich besitze Far Cry nicht, und habe die Demo nach fünf Minuten für langweilig befunden und deinstalliert :udevil:

schade :(

weiss jemand anderes vieleicht wie far cry die wasserspiegelungen erzeugt und wieso sie bei groesserwerdender distanz immer haessliger werden? und hilft aa? und wenn ja welches? und af?

Aquaschaf
2004-08-22, 17:36:37
Probiers doch aus.

BodyLove
2004-08-29, 20:56:38
Bei Juiced Demo werden auch FS-Effekte genutzt. Zwar kann man im Spiel AA zuschalten, aber die scheinen bei Blur nicht aktiv zu sein. Sprich, wohl nur DX8-basierend. (Nein, ich wusste nicht, dass Juiced auf DX8 basiert. :rolleyes: )

Gast
2004-09-09, 11:41:33
gibt es keine möglichkeit, antialiasing als fullscreeneffekt durch pixelshader zu verwenden? ich meine damit nicht supersampling.

Coda
2004-09-09, 12:25:11
Du könntest nur Supersampling durch Pixelshader erreichen und das nicht wirklich effizient.

Gast
2004-09-09, 12:37:46
funktioniert supersampling denn ohne die auflösung zu vervierfachen?

Benedikt
2004-09-17, 21:36:15
Hi Leute,

wollte nur sagen, dass jetzt langsam Spiele auf den Markt zu kommen scheinen, wo beides gleichzeitig funktioniert - AA und Postprocessing. Xpand-Rally (genauer gesagt die Demo) ist ein Beispiel dafür. Ich glaube, das wird über MRT (multiple render targets) gelöst, weiß es aber nicht genau. Gibts noch andere Spiele, die MRT nützen?

MFG,
B. W.

Korak
2004-09-26, 11:39:44
funktioniert supersampling denn ohne die auflösung zu vervierfachen?


Bei Supersampling wird ja nicht immer vervierfacht. Das hängt natürlich von der Einstellung ab (2xAA,4xAA...)

Gast
2004-09-26, 12:20:52
Bei Supersampling wird ja nicht immer vervierfacht. Das hängt natürlich von der Einstellung ab (2xAA,4xAA...)
sicher? wird nicht generell erstmal die auflösung in x und y-richtung verdoppelt und bezieht sich das 2x oder 4x nicht auf die anzahl der subpixel, die dann beim herunterrechnen mit einbezogen werden?

Korak
2004-09-26, 12:42:16
sicher? wird nicht generell erstmal die auflösung in x und y-richtung verdoppelt und bezieht sich das 2x oder 4x nicht auf die anzahl der subpixel, die dann beim herunterrechnen mit einbezogen werden?


Nein nicht sicher X-D

Gast
2004-09-26, 14:38:24
Nein nicht sicher X-D
wie meinen? bitte um links.

Xmas
2004-09-26, 15:36:39
funktioniert supersampling denn ohne die auflösung zu vervierfachen?
Nein, du kannst die Auflösung auch verdoppeln, verdreifachen, etc., für jede Achse unabhängig Es müssen nicht mal ganze Zahlen sein. Oder kein ordered Grid verwenden.

Gast
2004-09-26, 15:57:15
ok, für 4x ordered grid brauch ach aber die vierfache auflösung?

Coda
2004-12-12, 01:10:53
Ja.

Showtime
2004-12-12, 04:00:17
Gibt es eigentlich in absehbarer Zeit Hoffnung auf Fullscreen-Effekte + AA? In WoW nervt es z.B. zwischen AA und Gloom wählen zu müssen...

Demirug
2004-12-12, 09:25:38
Gibt es eigentlich in absehbarer Zeit Hoffnung auf Fullscreen-Effekte + AA? In WoW nervt es z.B. zwischen AA und Gloom wählen zu müssen...

Inzwischen gibt es eine Lösung dafür. Diese erfordert allerdings Änderungen am Programmcode. Bei "alten" Spielen wird also ein Patch dafür gebraucht.

BodyLove
2004-12-14, 20:15:06
Gibt es eigentlich in absehbarer Zeit Hoffnung auf Fullscreen-Effekte + AA? In WoW nervt es z.B. zwischen AA und Gloom wählen zu müssen...

Bei NFSU2 kann man im Game AA und AF zuschalten. Bringt keine Nachteile mit, wie damals bei NFSU.

HAL
2005-04-28, 11:22:27
Gibt es eigentlich in absehbarer Zeit Hoffnung auf Fullscreen-Effekte + AA? In WoW nervt es z.B. zwischen AA und Gloom wählen zu müssen...

Wenn ich mich nicht verguckt habe lässt sich in WOW seit dem letzten Patch AA und Gloom gleichzeitig einschalten.

Oblivion
2005-05-17, 21:16:43
Wenn ich mich nicht verguckt habe lässt sich in WOW seit dem letzten Patch AA und Gloom gleichzeitig einschalten.

Wie schaut das dann aus - könntest Screens machen?

HAL
2005-05-19, 13:12:23
http://img277.echo.cx/img277/6724/glow4aa16af8uf.th.jpg (http://img277.echo.cx/my.php?image=glow4aa16af8uf.jpg)

Hoffentlich geht das jetzt.... ;)

1280x1024; Glow; 4AA; 16AF

Oblivion
2005-05-19, 13:41:57
Hoffentlich geht das jetzt.... ;)

1280x1024; Glow; 4AA; 16AF

nice

is zwar geschmackssache - aber zu so einem epischen Spiel sicher passend, auch wenn schon etwas übertrieben

Gast
2005-07-09, 16:56:03
[QUOTE=Demirug]In letzter Zeit erscheinen immer mehr Spiele mit Fullschreen Effekten die aber nicht zusammen mit AA funktionieren. Der Grund dafür liegt in der Art und Weise wie diese Fullschreen Effekte erzeugt werden müssen:

Normalerweise rendert ein Grafikchip direkt in den Back-Buffer welcher nachdem das Bild komplett ist zum Front-Buffer (das was man sieht) wird. Möchte man nun aber ein Fullschreen Effekt benutzen ist es notwendig das für jeden Pixel nocheinmal eine Berechung durchgeführt wird. Dies kann nur in den Pixelshadern erfolgen. Diese können aber nun leider nicht die im Back-Buffer gespeicherten Werte auslesen. Aus diesem Grund ist man gezwungen das gesamten Bild zuerst in eine Texture zu rendern welche dann in einem letzten Schritt von den Pixelshadern wieder eingeladen wird und nach der Durchführung des Fullschreen Effekts in den Back-Buffer geschrieben wird. Da der eigentliche Rendervorgang also nicht mehr im Backbuffer erfolgt nützt es reichlich wenig für diesen AA zu aktivieren. Es ist sogar kontraproduktiv weil man dafür Leistung opfert aber nichts davon hat.

Gerendert wird wie schon gesagt in eine Texture. DirektX kann zwar auch mit Texturen umgehen in welche man unter Verwendung von AA rendern kann aber hier verweigern sich unter DX8 AFAIK alle Treiber/Chips. Mit DX9 gibt es jetzt neue zusätzliche Möglichkeiten für das rendern in Texturen unter Verwendung von AA.

Auf der XBox funktioniert das ganze besser weil man dort mehr Kontrolle über den Speicher hat. Diese mass an Kontrolle ist aber auf einem PC nicht möglich weil man es mit unterschiedlichen Grafikchips, CPUs und Mainboard Chipsätzen zu tun hat.

Zusammenfassung:

1. Bei Spielen die Fullschreen Effekte haben und noch DX8 benutzten ist davon auszugehen das AA und diese Effekte nicht gleichzeitig möglich sind. Der Grund ist eine Treiber/Chip beschränkung.

2. In jedem Fall sollte man bei solchen Spielen die Kontrolle des AA dem Spiel überlassen wenn man die Fullschreen effekte benutzten möchte. Hat das Spiel keine Einstellung für das AA hat man sowieso verloren. Wenn man das AA trotzdem erzwingt hat man im besten Fall nur einen Leistungsverlust im schlimmsten Fall gibt es Bildfehler.

3. Die XBox hat eine andere Speicherverwaltung und kann in diesem Punkt deshalb nicht als Vergleich dienen

4. Benutzt das Spiel DX9 und der Chip/Treiber unterstützt das rendern in Texturen mit AA besteht Hoffnung das beides (AA und Fullschreen Effekte) gleichzeitig möglich ist. Aber nur wenn das AA über die Applikation eingestellt und nicht über den Treiber erzwungen wird.[/QUOT "Your website when trying to download the english version of atuner downloads 19207184 what gives, can you please fix this problem

zeckensack
2005-07-12, 00:14:43
"Your website when trying to download the english version of atuner downloads 19207184 what gives, can you please fix this problemDemirug isn't the author of aTuner. It's aths.
Open a thread in this forum (http://www.forum-3dcenter.org/vbulletin/forumdisplay.php?f=10) to get aTuner support.

DrFreaK666
2005-07-26, 01:51:24
Mal eine kurze Frage:
Gibt es zufällig auch Partscreen-Effekte mit denen kein AA funktioniert?
Habe bei Sims2 bemerkt, dass im Spiegel kein AA aktiv ist und dachte mir, dass es eventuell soetwas wäre

http://img349.imageshack.us/img349/8514/sims220050726005411454sr.jpg (http://imageshack.us)

Gast
2005-09-12, 00:23:45
Oi, so wie du es schilderst, werden wohl keine Mipmaps für die Spiegelung erzeugt, sodass sich die üblichen Artefakte einstellen. Ich hatte mich da zu sehr auf den Aspekt "unscharf" konzentriert.

Disclaimer: ich besitze Far Cry nicht, und habe die Demo nach fünf Minuten für langweilig befunden und deinstalliert :udevil:

UUUUUII,
Dann hast du den Besten Solo Egoshooter bis dato verpasst.
Mein Beileid aus tiefstem Herzen.
Das Wasser in FarCry ist REFERENZ.Selbst Epic äusserte sich neidisch darüber!
Das Game sowieso...

Coda
2005-09-12, 01:51:08
Das Wasser in FarCry ist REFERENZ.Selbst Epic äusserte sich neidisch darüber!UT2004 ist kein DX9 Spiel, das kann man nicht vergleichen. Ich glaube auch nicht, dass sich EPIC da neidisch äußert, der Effekt ist relativ simpel zu implementieren.

Außerdem sieht das in BF2 mindestens so gut aus wie in Far Cry.

Oblivion
2005-09-15, 17:26:10
Mal eine kurze Frage:
Gibt es zufällig auch Partscreen-Effekte mit denen kein AA funktioniert?
Habe bei Sims2 bemerkt, dass im Spiegel kein AA aktiv ist und dachte mir, dass es eventuell soetwas wäre



Wurde mit TSAA (Transparentem AA) beim G70 behoben

Neomi
2005-09-15, 21:48:17
Wurde mit TSAA (Transparentem AA) beim G70 behoben

Wie kommst du denn auf das schmale Brett? Solche Spiegeleffekte werden gemacht, indem in eine Textur gerendert und die dann angewendet wird. Mit Alphatesting hat das nichts zu tun.

Oblivion
2005-09-20, 11:27:57
Wie kommst du denn auf das schmale Brett? Solche Spiegeleffekte werden gemacht, indem in eine Textur gerendert und die dann angewendet wird. Mit Alphatesting hat das nichts zu tun.

Hm? ok die Textur wird gerändert - aber sie wird nicht "geglättet" und dafür is doch TSAA zuständig

Gast
2005-09-20, 12:17:13
Hm? ok die Textur wird gerändert - aber sie wird nicht "geglättet" und dafür is doch TSAA zuständig

nein, TSAA "springt" nur bei transparenten texturen an, was hier aber nicht der fall ist.

hier nützt nichtmal supersampling, da auch dieses FSAA nur auf den framebuffer angewendet wird, und nicht wenn eine textur das rendertarget ist.

in DX9 ist es allerdings auch möglich in rendertargets mit normalem multisampling zu rendern, allerdings muss das die anwendung explizit anfordern wenn sie das entsprechende rendertarget anlegt.

Oblivion
2005-09-20, 15:40:30
nein, TSAA "springt" nur bei transparenten texturen an, was hier aber nicht der fall ist.

hier nützt nichtmal supersampling, da auch dieses FSAA nur auf den framebuffer angewendet wird, und nicht wenn eine textur das rendertarget ist.

in DX9 ist es allerdings auch möglich in rendertargets mit normalem multisampling zu rendern, allerdings muss das die anwendung explizit anfordern wenn sie das entsprechende rendertarget anlegt.

Ok danke - jetzt hab ichs soweit :)

Armaq
2005-10-20, 22:47:49
Öhm, zum Thema Gloom und AA in WoW:
Ich habe WoW bis zum August diesen Jahres aktiv betrieben muss man da sagen.
Ich konnte seit dem ersten Anwurf Gloom und AA einstellen, wobei ich das AA übers Panel gedrückt habe.
Habe leider keine Screenshots, da mein System gestern eine Neuauflage erfahren hat.#
Aber das Bild von HAL kenne ich schon eine Weile.

Super-S
2005-10-29, 12:32:44
:wink: Frage an die Pros.... Es geht ums Game Pro Evo Soccer 5 !

Da das Game auf AA Einstellungen garnicht reagiert , weder der Rivatuner was bewegt... der Direkt X Tweaker... und der N-Hancer , habe ich die Hoffnung fast aufgegeben.

Es bleibt noch der A-Tuner..... Frage: Erzwingen diese verschiedenen Tools das AA+AF auf verschiedenen Methoden oder benutzen die alle die gleiche Art ums zu Forcieren ?

Habe ich mit dem A-Tuner noch irgendwelche Chancen ?

Wenn hier jemand PES5 kennt...kann mir vielleicht jemand sagen ob das nen Dauer-Fullscreeneffect benutzt ? ...wäre mir neu.

Xmas
2005-10-29, 14:11:38
aTuner, NHancer und Rivatuner machen hierbei nichts anderes als das Treiber-Controlpanel auch: sie schreiben nur Werte in die Registry, die der Treiber dann verwendet. Nur der DXTweaker kann in solchen Fällen AA erzwingen, weil er die API-Aufrufe abfängt und somit in den Rendervorgang eingreifen kann.

Demirug
2005-10-29, 15:48:17
aTuner, NHancer und Rivatuner machen hierbei nichts anderes als das Treiber-Controlpanel auch: sie schreiben nur Werte in die Registry, die der Treiber dann verwendet. Nur der DXTweaker kann in solchen Fällen AA erzwingen, weil er die API-Aufrufe abfängt und somit in den Rendervorgang eingreifen kann.

Allerdings gibt es für ein "Render 2 Texture-AA" noch kein passendes Plugin. Der "Present Changer" erzwingt es ja auch nur auf den Backbuffer.

Super-S
2005-10-29, 17:00:24
:cool: AA würde diese Konsolenportierung echt Verschönern......!

Werde mit dem DX-Tweaker noch mal n bischen herumexperimentieren.


THX für die Auskunft... ;)

Gast
2005-12-25, 15:17:37
UT2004 ist kein DX9 Spiel, das kann man nicht vergleichen. Ich glaube auch nicht, dass sich EPIC da neidisch äußert, der Effekt ist relativ simpel zu implementieren.

Außerdem sieht das in BF2 mindestens so gut aus wie in Far Cry.

Epic hat damals kein gutes Haar an FarCry gelassen,BIS auf das Wasser,sonst hätte die sich noch vollends lächerlich gemacht.FarCry stahl EPIC meines Wissens auf ner Messe die Schau mit ihrer Überraschung,die sie aus dem Sack zauberten.

BF2 kam auch ein Jahr später raus,keine Kunst.Und wo bleibt Unreal3?EPIC labert nur und war einfach neidisch auf FarCry.Auch das dynymische HDR ist wegweisend.Wehe Unreal3 sieht nicht killer aus,oder wirds wie Doom3:)

Paul Brain
2006-06-13, 21:04:42
In DX9c-Zeiten dachte ich eigentlich nicht, daß es noch solche Spiele gibt, aaaaaber: "Gun" ist so ein Exemplar. Entweder AA oder Fullscreen-Effekte... Gibts für dieses Spiel eigentlich eine Möglichkeit, AA und FS-Effekte gleichzeitig zu bekommen? Ich mein, bei dem Spiel ist es mir bisher nicht besonders störend aufgefallen, da es auch in 2048x1536 flüssig läuft, und da merkt man das Aliasing nicht mehr soooo sehr...

sloth9
2006-06-13, 21:48:12
Gun ist ja auch auch kein DX 9.0-Game, nur weil's auf der CD enthalten ist. Höchsten DX 8.0; halt ein Konsolenemulator übelster Kajüte. Kann man ja gleich "Der Pate" spielen, anstelle ihn sich anzuschauen.

MikeB
2006-11-12, 18:13:59
Es gibt 2 Einschränkungen mit AA und Postprocessing:

1, Nur die X1000 Serie unterstützt MSAA rendering in Rendertargets die nicht der Backbuffer sind. (Sollte mit G80 auch auf Nvidia erledigt sein)
2, Wenn die Applikation MRTs benutzt, unterstützt DX9 gar kein MSAA mehr. (Warum auch immer, wohl ein Grund D3D10 besser zu verkaufen)

Für deferred Shading sind MRTs aber nötig. Für Postprocessing muss die Szene in eine Textur gerendert werden. Für HDR ist aber Postprocessing nötig.

Michael

Gast
2006-11-12, 18:22:12
Nur die X1000 Serie unterstützt MSAA rendering in Rendertargets die nicht der Backbuffer sind. (Sollte mit G80 auch auf Nvidia erledigt sein)

Huh? Blödsinn. Die X1000 kann halt MSAA auch auf FP16-Rendertargets.

2, Wenn die Applikation MRTs benutzt, unterstützt DX9 gar kein MSAA mehr. (Warum auch immer, wohl ein Grund D3D10 besser zu verkaufen)

Das hat nichts mit "verkaufen" zu tun sondern mit Hardwarelimitierungen zu der Zeit.

MikeB
2006-11-12, 18:54:48
Huh? Blödsinn. Die X1000 kann halt MSAA auch auf FP16-Rendertargets.


Blödsinn ? Hat mit FP16 garnichts zu tun. Nvidia kann (konnte) generell kein MSAA auf Rendertargets ausser Backbuffer...
Hat wohl was damit zu tun, dass der RAMDAC das Downsampling macht.
Man kann (konnte) auf Nvidia nicht einmal Zbuffer mit Multisampling anlegen.

Das hat nichts mit "verkaufen" zu tun sondern mit Hardwarelimitierungen zu der Zeit.

Ist von der API her so vorgegeben, wenn MRT dann kein AA. Ich könnte wetten dass die Hardware es kann.

Michael

Gast
2006-11-12, 19:04:05
Blödsinn ? Hat mit FP16 garnichts zu tun. Nvidia kann (konnte) generell kein MSAA auf Rendertargets ausser Backbuffer...

Das is doch gar nich wahr. Eine GeForce kann mit MSAA in eine Textur rendern!

Ist von der API her so vorgegeben, wenn MRT dann kein AA. Ich könnte wetten dass die Hardware es kann.

Gehts denn unter OpenGL?

MikeB
2006-11-12, 20:17:47
Das is doch gar nich wahr. Eine GeForce kann mit MSAA in eine Textur rendern!


Kann sie ? Eine Geforce4ti vielleicht. Eine Geforce6 nicht. Ein CreateRenderTarget() oder CreateDepthStencilSurface() mit Multisampling wird mit einem "kann ich nicht" beantwortet. Steht auch in den DX-Caps so drin.
Ist auch allgemein bekannt, dass HDR + MSAA auf Nvidia nicht ging. (liegt genau daran, HDR kann nicht direkt in den Backbuffer gerendert werden)

Achja, in eine Textur mit MSAA zu rendern geht auf keiner Hardware, mann kann unter DX9 erst garnicht MSAA-texturen anlegen. Das geht nur über den Umweg in ein MSAA-Rendertarget rendern, dann StretchRect() aus dem Rendertarget in die Textur.


Gehts denn unter OpenGL?

Keine Ahnung, kenne mich nur mit DX aus.

Michael

Xmas
2006-11-12, 20:47:45
Kann sie ? Eine Geforce4ti vielleicht. Eine Geforce6 nicht. Ein CreateRenderTarget() oder CreateDepthStencilSurface() mit Multisampling wird mit einem "kann ich nicht" beantwortet. Steht auch in den DX-Caps so drin.
Das sollte auch mit NV40 ohne Probleme gehen. Anhand welcher Caps willst du das bitte feststellen? Es gibt keine unterschiedlichen Caps für Backbuffer- und Nicht-Backbuffer-Rendertargets.

Ist auch allgemein bekannt, dass HDR + MSAA auf Nvidia nicht ging. (liegt genau daran, HDR kann nicht direkt in den Backbuffer gerendert werden)
Das hat damit nun wirklich nichts zu tun.

MikeB
2006-11-12, 21:24:32
Das sollte auch mit NV40 ohne Probleme gehen. Anhand welcher Caps willst du das bitte feststellen? Es gibt keine unterschiedlichen Caps für Backbuffer- und Nicht-Backbuffer-Rendertargets.


Und wie es die gibt ! Per "Query" kann man für jede x-beliebige Kombination abfragen was geht.
Versuch mal auf dem NV40 ein CreateRenderTarget() mit Multisampling. Klappt nicht. Auf ATI X1000 hingegen schon.
Oder ein CreateDepthStencilSurface() mit Multisampling.

Das hat damit nun wirklich nichts zu tun.

Leider doch... Oder warum wirbt ATI damit dass ihre Karten das können ?
Schon mal überlegt wie HDR-Rendering funktioniert ? Man kann keinen Backbuffer im FP16 Format anlegen. Also muss per CreateTexture() mit RenderTarget-flag ein fp16-Buffer angelegt werden. Da Texturen garkein MSAA können, muss für MSAA per CreateRenderTarget() mit Multisample-Flag das RenderTarget angelegt werden, da hinein gerendert werden, und per StretchRect() in eine Textur down-gesampelt werden. Dann kann das Tonemapping/Bloom und was noch alles angewendet werden um die Daten anschliessend in den Backbuffer zu packen.

Da es auf Nvidia (<G80) MSAA nur auf den regulären Backbuffer gibt, schliesst das HDR mit MSAA aus.

Michael

Xmas
2006-11-12, 22:20:10
Und wie es die gibt ! Per "Query" kann man für jede x-beliebige Kombination abfragen was geht.
Versuch mal auf dem NV40 ein CreateRenderTarget() mit Multisampling. Klappt nicht. Auf ATI X1000 hingegen schon.
Oder ein CreateDepthStencilSurface() mit Multisampling.
Query? Meinst du zufällig CheckDeviceMultiSampleType? Das unterscheidet nicht zwischen Backbuffer und sonstigem Rendertarget.
Ich kann es leider nicht auf einem NV40 probieren, da ich keinen habe. Ich bin mir jedoch ziemlich sicher dass es geht.

Leider doch... Oder warum wirbt ATI damit dass ihre Karten das können ?
Weil deren Karten FP16 mit AA können, und NVidia vor G80 nicht. Das hat aber absolut nichts damit zu tun dass NVidia nur im Backbuffer MSAA könnte, denn das stimmt nicht. Es gäbe auch absolut keine logische Begründung für solch eine Beschränkung.

MikeB
2006-11-12, 22:52:21
Ich kann das morgen bei der Arbeit nochmal genauer checken. Was ich mit Sicherheit weiss, ist dass GeForce6600 keinen extra Zbuffer mit Multisampling anlegen kann. Hatte ich (da ich momentan auf ATI arbeite) vergessen abzuklemmen, dadurch gabs dann auf nvidia envmaps ohne zbuffering. (Hatte antialiaste Envmaps ausprobiert, aber verworfen weils auf nvidia nicht ging)

Muss dann mal testen wie weit die Beschränkungen gehen.

Michael

tokugawa
2006-11-12, 22:52:38
Und wie es die gibt ! Per "Query" kann man für jede x-beliebige Kombination abfragen was geht.
Versuch mal auf dem NV40 ein CreateRenderTarget() mit Multisampling. Klappt nicht. Auf ATI X1000 hingegen schon.
Oder ein CreateDepthStencilSurface() mit Multisampling.



Leider doch... Oder warum wirbt ATI damit dass ihre Karten das können ?
Schon mal überlegt wie HDR-Rendering funktioniert ? Man kann keinen Backbuffer im FP16 Format anlegen. Also muss per CreateTexture() mit RenderTarget-flag ein fp16-Buffer angelegt werden. Da Texturen garkein MSAA können, muss für MSAA per CreateRenderTarget() mit Multisample-Flag das RenderTarget angelegt werden, da hinein gerendert werden, und per StretchRect() in eine Textur down-gesampelt werden. Dann kann das Tonemapping/Bloom und was noch alles angewendet werden um die Daten anschliessend in den Backbuffer zu packen.

Da es auf Nvidia (<G80) MSAA nur auf den regulären Backbuffer gibt, schliesst das HDR mit MSAA aus.

Michael



Ich glaub du verwechselst einiges.

Auf Non-Float-Rendertargets geht auf NVIDIA sehr wohl Multisampling. Hab das schon verwendet.

Allerdings hab ich aktuell nicht das Programm an sich zur Hand, aber folgender kurzer Test beschert mir ein zweifaches "OK":

DWORD level = 0;
hr = mDirect3D->CheckDeviceMultiSampleType(
D3DADAPTER_DEFAULT,
D3DDEVTYPE_HAL,
D3DFMT_A8R8G8B8,
FALSE,
D3DMULTISAMPLE_4_SAMPLES,
&level);

if (hr == D3D_OK)
{
gxPrint("OK");
}

IDirect3DSurface9* surf = NULL;

hr = mDevice->CreateRenderTarget(
1024,
1024,
D3DFMT_A8R8G8B8,
D3DMULTISAMPLE_4_SAMPLES,
level-1,
FALSE,
&surf,
NULL);

if (hr == D3D_OK)
{
gxPrint("OK");
}


Womit ATI wirbt ist, dass Floating-Point-Surfaces + MSAA gehen.



Würde auf NVIDIA Fixedpoint+MSAA nicht gehen, könnten sehr viele Spiele mit NVIDIA kein MSAA anwenden...

MikeB
2006-11-12, 23:01:25
Ich glaub du verwechselst einiges.


Gut möglich, morgen weiss ich mehr.

Aber darum gings ja, das mit PostProcessing (Fullscreen-Effekte) plötzlich kein AA verfügbar ist.

MikeB
2006-11-13, 11:59:28
Okay, ich habe es gerade gecheckt. Suppi, gleich am ersten Tag der Anmeldung bis auf die Knochen blamiert... Ich stelle mich jetzt für 128 Sekunden in die Ecke.

Auch die 6600 kann die Rendertargets mit MSAA anlegen, nur bei fp16/32 nicht.
Weiss nicht, was da schief gelaufen war, vielleicht eine schlecht gelaunte mutierte Treiber version ?
Naja, jedenfalls ziehe ich hiermit sämtliche Behauptungen von den vorigen Postings zurück. (bis auf das mit den MRTs, das ist wirklich so)

Michael

Coda
2006-11-13, 12:06:32
Aber darum gings ja, das mit PostProcessing (Fullscreen-Effekte) plötzlich kein AA verfügbar ist.

Das ist auch auf ATi nicht anders.

Dudeastic
2011-09-06, 02:44:16
Auf der Siggraph wurde nen Kurs über Anti Aliasing Methoden gehalten:

http://iryoku.com/aacourse/

Geldmann3
2020-09-26, 21:57:35
Auf der Siggraph wurde nen Kurs über Anti Aliasing Methoden gehalten:

http://iryoku.com/aacourse/

Schade, die Seite ist offline.

watugonad00?
2020-09-26, 22:16:18
https://web.archive.org/web/20200511181123/http://iryoku.com/aacourse/

sogar die pdf's funzen noch :biggrin:

T(emporales) AA und downsampling gab es damals imho noch gar nicht..