PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : "Stochastic organized grid" Anti-Aliasing?


LovesuckZ
2003-09-19, 20:29:04
the NV40 supports "Stochastic organized grid" while randomizing fetches for AA blocks. (http://www.notforidiots.com/GPURW.php)

Kann einer erklaeren, um was es sich dabei handelt?

Demirug
2003-09-19, 20:50:41
Frag David Kirk der müsste es wissen. :D

Der Name weist darauf hin das man mit zufällig erzeugten Abtastpositionen arbeitet. Wobei es ja in der Informatik keine echten Zufallszahlen gibt. Es liegt also eine bestimmte Formel zugrunde.

Exxtreme
2003-09-19, 20:56:27
Original geschrieben von Demirug
Frag David Kirk der müsste es wissen. :D

Der Name weist darauf hin das man mit zufällig erzeugten Abtastpositionen arbeitet. Wobei es ja in der Informatik keine echten Zufallszahlen gibt. Es liegt also eine bestimmte Formel zugrunde.
Also sireric meinte, daß pseudo-zufällige Abtastraster bei niedriger Subpixelanzahl sehr viel Noise erzeugen.


Also wenn die Info stimmt, dann wird NV wohl sehr viele Subpixel brauchen... >=16.

Demirug
2003-09-19, 21:13:29
Original geschrieben von Exxtreme
Also sireric meinte, daß pseudo-zufällige Abtastraster bei niedriger Subpixelanzahl sehr viel Noise erzeugen.

Ich kenne auch Aussagen das ein RG nicht das ideale sei. Nichts für ungut aber nur weil sireric etwas sagt muss das genauso wenig stimmen wie wenn einer von der nv Truppe was von sich gibt. Zudem ist Stochastic ein recht grosses Gebiet und reine pseudo Zufallszahlen nur ein kleiner Teil davon.

Also wenn die Info stimmt, dann wird NV wohl sehr viele Subpixel brauchen... >=16.

Warten wir es ab.

aths
2003-09-19, 21:33:16
Ich arbeite gerade an einem Artikel, der unter anderem behauptet, dass sich zufällige Subpixelmasken weniger gut machen.

Original geschrieben von Demirug
Ich kenne auch Aussagen das ein RG nicht das ideale sei.Ist es auch nicht per se. Bei 4x sieht das ideale Muster ziemlich nach RG aus, bei 2x ebenso, aber bei 6x und 8x ist "sparsed" überlegen.

Demirug
2003-09-19, 21:41:17
Original geschrieben von aths
Ich arbeite gerade an einem Artikel, der unter anderem behauptet, dass sich zufällige Subpixelmasken weniger gut machen.

Das streite ich ja gar nicht ab.

Es bleibt aber die Frage ob "Stochastic organized grid" nur ein vom Marketing gebastelter Begriff für "random grid" oder steckt mehr dahinter?

Und natürlich ob an der ganzen Sache überhaupt etwas dran ist.

aths
2003-09-19, 21:46:29
Zufallssubpixelmasken sollten nicht wirklich zufällig samplen, sondern höchstens zwischen verschiedenen guten, vorberechneten "zufälligen" Masken auswählen. Damit das gut wird, brauchts aber viele Samples und eine hohe Framerate. Mit einer festen Maske umschifft man solche Probleme.

HellHorse
2003-09-19, 22:57:10
Original geschrieben von Demirug
...
Der Name weist darauf hin das man mit zufällig erzeugten Abtastpositionen arbeitet. Wobei es ja in der Informatik keine echten Zufallszahlen gibt. Es liegt also eine bestimmte Formel zugrunde.

Stimmt so dank VIA nicht. Nehemiahs haben einen echten Zufallsgenerator.

http://www.via.com.tw/en/viac3/padlock.jsp

...
The PadLock Data Encryption Engine RNG uses random electrical noise on the chip as its source of randomness ('entropy'), to securely produce random number values. Logic within the processor core collects entropy from this physical process, pre-processes the data, and queues up to 32 bytes for immediate access by the processor. By collecting the data from physical sources in this way, the RNG produces output that is unpredictable and not influenced by outside sources.
...

Gast
2003-09-20, 00:53:51
Original geschrieben von aths
Zufallssubpixelmasken sollten nicht wirklich zufällig samplen, sondern höchstens zwischen verschiedenen guten, vorberechneten "zufälligen" Masken auswählen. Damit das gut wird, brauchts aber viele Samples und eine hohe Framerate. Mit einer festen Maske umschifft man solche Probleme.

Sorry aber das versteh ich nicht ganz....
Wenn ich das um die Uhrzeit jetzt nicht verpeile ;) handelt es sich doch im Prinzip um ne Integration. Dabei hat man durchschnittlich mit Zufallszahlen ein besseres Ergebnis wie mit einem festen Muster. Der Wahrscheinlichkeit kann man mit verschiedenen Konstruktionen sogar noch gewaltig auf die Sprünge helfen....

Ailuros
2003-09-20, 02:53:08
Ich kenne auch Aussagen das ein RG nicht das ideale sei. Nichts für ungut aber nur weil sireric etwas sagt muss das genauso wenig stimmen wie wenn einer von der nv Truppe was von sich gibt. Zudem ist Stochastic ein recht grosses Gebiet und reine pseudo Zufallszahlen nur ein kleiner Teil davon.

NV3x 2xMSAA und R3xx 2/4/6xMSAA sind ja eigentlich sparce sampled grid. Es heisst meistens dass bis zu 16x samples sparce eine der idealsten Methoden sei, bei >16x samples waere jittered grid zu bevorzugen. Ob das nun stimmt oder nicht wissen wohl eher die Experten.

Es bleibt aber die Frage ob "Stochastic organized grid" nur ein vom Marketing gebastelter Begriff für "random grid" oder steckt mehr dahinter?

Dumme Frage: koennte es sein dass es sich um einen Algorithmus handelt der wenigstens ein bisschen "adaptiveness" in AA einfuehrt? Und ich meine jetzt nicht einen random grid, sondern ein Algorithmus der faehig ist, je nach der Notwendigkeit von edges eine gewisse Anzahl von samples zu verwenden. Momentan sind ja sampling Methoden eigentlich "dumm" da ueber die ganze Szene die gleiche Anzahl von samples angewendet wird.

Bei weiterem Bedenken klingt das aber eher nach einem sehr gewagten Schritt. Ich wuenschte ich koennte was relatives herausfischen, aber IHVs aeussern sich sehr selten ueber solche Kleinigkeiten *seufz*.

zeckensack
2003-09-20, 13:18:56
Original geschrieben von aths
<...>Damit das gut wird, brauchts aber viele Samples und eine hohe Framerate.:|
Du spielst doch hoffentlich nicht auf unterschiedliche Darstellung aufeinanderfolgender Frames an? :krank:

Um's mal hart zu sagen, das ist Schrott, und absolut falsch.
Die Bemühungen der Chipschmieden im Bereich Deinterlacing und dergleichen sollten eigentlich Beweis genug sein, daß Integration über Frames auf dem Monitor des Users im Grafikbereich überhaupt keinen Wert hat, und, im Gegenteil, mit allen Mitteln verhindert gehört.

Gast
2003-09-20, 13:43:42
Original geschrieben von Exxtreme
Also sireric meinte, daß pseudo-zufällige Abtastraster bei niedriger Subpixelanzahl sehr viel Noise erzeugen.


Also wenn die Info stimmt, dann wird NV wohl sehr viele Subpixel brauchen... >=16.

SimonFenney von IMG behauptet dasselbe. Er ist von sowas überhaupt nicht begeistert.

Exxtreme
2003-09-20, 13:59:59
Original geschrieben von Gast
SimonFenney von IMG behauptet dasselbe. Er ist von sowas überhaupt nicht begeistert.
Gut. Es wäre nämlich das erste mal, daß sireric richtig Mist erzählt. :D

Deswegen hat ATi es wohl fallen lassen bei der R200. Da gab es OGSSAA bei Spielen mit Nebel und RGSSAA bei Spielen ohne Nebel.

Frank
2003-09-20, 14:55:23
Original geschrieben von HellHorse

Stimmt so dank VIA nicht. Nehemiahs haben einen echten Zufallsgenerator.

http://www.via.com.tw/en/viac3/padlock.jsp

und stimmt so weiter auch noch nicht ganz. Mit bestimmten Algorithmen erzeugt man zwar trotzdem nur sogenannte Pseudozufallszahlen - aber auf einem Level: nicht brechbar, kann man genausogut auch auswürfeln, kryptografisch perfekt sicher. :D (edit: das ist natürlich beweisbar :D )

aths
2003-09-20, 17:19:37
Original geschrieben von Gast
Sorry aber das versteh ich nicht ganz....
Wenn ich das um die Uhrzeit jetzt nicht verpeile ;) handelt es sich doch im Prinzip um ne Integration. Dabei hat man durchschnittlich mit Zufallszahlen ein besseres Ergebnis wie mit einem festen Muster. Der Wahrscheinlichkeit kann man mit verschiedenen Konstruktionen sogar noch gewaltig auf die Sprünge helfen.... Nun,Original geschrieben von zeckensack
Um's mal hart zu sagen, das ist Schrott, und absolut falsch.Wo zeckensack Recht hat, sollte man ihm auch nicht widersprechen http://www.aths.net/files/smilies/smile.gif.

LovesuckZ
2003-09-21, 18:17:20
Wenn das das ergebnis dieses AA Verfahren waere, dann sieht es nicht mal schlecht aus:

http://www3.sympatico.ca/tina_li/graphics/graphics/antialiasing.html

gefunden hier: http://www.nvnews.net/vbulletin/showthread.php?threadid=18370

zeckensack
2003-09-21, 18:44:18
Original geschrieben von LovesuckZ
Wenn das das ergebnis dieses AA Verfahren waere, dann sieht es nicht mal schlecht aus:

http://www3.sympatico.ca/tina_li/graphics/graphics/antialiasing.htmlDas sieht nicht besonders großartig aus. Die EER scheint nicht über 4x4 zu liegen, was bei den angegebenen 16 Subpixeln extrem verdächtig ist.
Außerdem hat's Rendering-Fehler, man beachte die waagrechten Kanten des Würfels.

Und daß der, sorry, Idiot Anti-Aliasing braucht, um Textur-Moire zu killen, ist einfach nur lächerlich. Er hätte sich vielleicht mal mit Texturfiltern beschäftigen sollen :eyes:

Demirug
2003-09-21, 18:46:41
Original geschrieben von zeckensack
Das sieht nicht besonders großartig aus. Die EER scheint nicht über 4x4 zu liegen, was bei den angegebenen 16 Subpixeln extrem verdächtig ist.
Außerdem hat's Rendering-Fehler, man beachte die waagrechten Kanten des Würfels.

Und daß der, sorry, Idiot Anti-Aliasing braucht, um Textur-Moire zu killen, ist einfach nur lächerlich. Er hätte sich vielleicht mal mit Texturfiltern beschäftigen sollen :eyes:

Das "16 rays per pixel" unten lässt auch den Verdacht aufkommen das es sich um einen Raytracer handelt.

MadManniMan
2003-09-22, 17:44:57
Hm, ich wundere mich irgendwie, daß ich einzig bei Zecki eine tendenzielle Abneigung nem (pseudo-)zufälligem Abtastraster gegenüber erkenne.

Mal ganz außen vor gelassen, daß ein solches Verfahren immer mehr Performance fressen würde, als eines mit einer gleichen Subpixelanzahl, dafür mit festem Raster...

...denn mein persönliches AA-Empfinden [size=1](<- Gott, klingt das scheiße :D ) sagt mir, daß ein solches Verfahren zum einen Kanten möglichste glatt halten soll, gleichzeitig aber auch die gesamte Szene beruhigen soll! Gerade für letzteres ist ein OG-Raster wohl am besten geeignet, zumindest aber ein festes sollte es schon sein. Pseudozufall soll ja irgend Natürlichkeit ins Bild bringen, ein Rauschen verursachen.
Find ich irgendwie bekloppt...

Mir persönlich wäre ein AA mit möglichst hoher EER am liebsten.

:ratlos:

aths
2003-09-22, 18:05:23
Original geschrieben von MadManniMan
Hm, ich wundere mich irgendwie, daß ich einzig bei Zecki eine tendenzielle Abneigung nem (pseudo-)zufälligem Abtastraster gegenüber erkenne.Ich denke, mich da eigentlich ebenfalls sehr klar geäußert zu haben.
Original geschrieben von MadManniMan
Gerade für letzteres ist ein OG-Raster wohl am besten geeignet, zumindest aber ein festes sollte es schon sein. Pseudozufall soll ja irgend Natürlichkeit ins Bild bringen, ein Rauschen verursachen.
Find ich irgendwie bekloppt...

Mir persönlich wäre ein AA mit möglichst hoher EER am liebsten.

:ratlos: Japp. Maximale, auf den Achsen "gleichverteilte" EER, mit festem Grid (für jedes Pixel das gleiche.) Die Geschwindigkeit kommt dann durch MSAA mit Z- und Color-Compression.

Was AA-Qualität und gute Masken angeht, da schreibt der :kicher: gerade was. Zuvörderst wird aber eine Kolumne erscheinen, die mit FSAA fast gar nichts zu tun hat.

Quasar
2003-09-22, 18:35:22
Original geschrieben von Demirug
Wobei es ja in der Informatik eine echten Zufallszahlen gibt. Es liegt also eine bestimmte Formel zugrunde.

Was ist, wenn der Key-Generator in zukünftigen TCPA-Mainboards dafür mißbraucht bzw. auf dem Grafikchip implementiert wird? Er sollte doch aus einem "white noise" Zufallszahlen generieren können, oder?

Demirug
2003-09-22, 18:48:53
Original geschrieben von Quasar
Was ist, wenn der Key-Generator in zukünftigen TCPA-Mainboards dafür mißbraucht bzw. auf dem Grafikchip implementiert wird? Er sollte doch aus einem "white noise" Zufallszahlen generieren können, oder?

Passe, wie die TCPA Komponete nun genau die Keys erzeugen soll habe ich mir bisher nicht angeschaut.

"white noise" wäre sicherlich eine möglichkeit aber wenn da (beim NV40) wirklich was mit Zufallszahlen abläuft dann dürfte eine gewisse reproduzierbarkeit denoch notwendig sein.

MadManniMan
2003-09-22, 18:50:47
Original geschrieben von aths
Ich denke, mich da eigentlich ebenfalls sehr klar geäußert zu haben.

Öha, müß mich erst an deinen neuen Avatar gewähnen!

Original geschrieben von aths
Japp. Maximale, auf den Achsen "gleichverteilte" EER, mit festem Grid (für jedes Pixel das gleiche.) Die Geschwindigkeit kommt dann durch MSAA mit Z- und Color-Compression.

Wobei IMHO das sauberste Bild rein theoretisch wohl ein OG liefern sollte. Naja, irgendwann wird das wohl akademisch...

Original geschrieben von aths
Was AA-Qualität und gute Masken angeht, da schreibt der :kicher: gerade was. Zuvörderst wird aber eine Kolumne erscheinen, die mit FSAA fast gar nichts zu tun hat.

Zu ersterem: hm, ja was denn?

Zu letzterem: hm, ja was denn?

Demirug
2003-09-22, 19:37:56
Ich habe mir jetzt noch ein paar Gedanken gemacht.

Was ist wenn folgendes System zu Einsatz kommt:

Bei Pixel die vollständig von einem Dreieck bedeckt werden ist das Grid ja erst mal egal und sie brauchen nicht besonders beachtet.

Bei allen anderen bringt man erst einmal ein 8*8 OG zu Einsatz. Aufgrund der Verteilung in diesem Grid bestimmt dann der Chip welches Grid für die weitere Verarbeitung und das Speichern benutzt wird.Beim Einladen wird dann das 8*8 Grid wieder rekonstruiert. Wenn man das richtig macht erreicht man mit dem Speicher und Bandbreitenbedarf von 2xAA + ein bischen Zusatzinfomation für einen sehr grossen Teil des Bild die Qualität eines 64xOGAA.

aths
2003-09-22, 19:54:00
Original geschrieben von MadManniMan
Wobei IMHO das sauberste Bild rein theoretisch wohl ein OG liefern sollte. Naja, irgendwann wird das wohl akademisch... Bei den "wichtigen" Kanten ist es sogut wie egal, ob 4x RG oder 4x4 OG. Bei bestimmten anderen Winkeln gilt eine andere "effektive" EER, "die" EER gilt ja so nur für horizontale und vertikale Kanten. 2x RG z.B. ist ja bei 45° Winkeln sehr schlecht, wenn man stattdessen 4x OG für 10% Leistung bekommt, würde ich 4x OG vorziehen. Noch sehr viel lieber wäre mir allerdings 4x RG. Ich denke du verstehst, worauf ich hinaus will http://www.aths.net/files/smilies/smile.gif.

unwissend!
2003-09-22, 19:54:07
Original geschrieben von Demirug
...Bei allen anderen bringt man erst einmal ein 8*8 OG zu Einsatz. Aufgrund der Verteilung in diesem Grid bestimmt dann der Chip welches Grid für die weitere Verarbeitung und das Speichern benutzt wird.Beim Einladen wird dann das 8*8 Grid wieder rekonstruiert. Wenn man das richtig macht erreicht man mit dem Speicher und Bandbreitenbedarf von 2xAA + ein bischen Zusatzinfomation für einen sehr grossen Teil des Bild die Qualität eines 64xOGAA.

Sorry für OT
aber gibt es einen Artikel der sich mit den verschiedenen AA-Modi beschäftigt? Möglichst so geschrieben das ein noob, wie ich, das versteht. Sonst muss ich mir einen Dolmetscher für eure, sehr interessante, Diskussion besorgen.

cu unwissend!

aths
2003-09-22, 19:55:55
Grundlagen: http://www.3dcenter.org/artikel/anti-aliasing/ (Schon etwas veraltet, vor allem der Radeon-Teil zur Radeon 8500.) (Die ersten Seite empfehle ich aber auch heute noch.)

Tiefer gehende Ausführungen: http://www.3dcenter.org/artikel/multisampling_anti-aliasing/

Was den ersten Artikel angeht, der zukünftige Artikel wird einige Bemerkungen wieder zurück nehmen http://www.aths.net/files/smilies/hm.gif, aber im großen und ganzen ist der alte Text noch richtig.

Der zweite Artikel beschäftigt sich eingehender mit der tatsächlichen Realisierung, weniger mit der Theorie, aber die Thematik der Bildqualität oder alternative, noch nicht umgesetzte Möglichkeiten werden auch angesprochen.

Der zukünftige Artikel ist wieder 100% Theorie http://www.aths.net/files/smilies/proud.gif.

Ailuros
2003-09-22, 20:00:47
Original geschrieben von Demirug
Ich habe mir jetzt noch ein paar Gedanken gemacht.

Was ist wenn folgendes System zu Einsatz kommt:

Bei Pixel die vollständig von einem Dreieck bedeckt werden ist das Grid ja erst mal egal und sie brauchen nicht besonders beachtet.

Bei allen anderen bringt man erst einmal ein 8*8 OG zu Einsatz. Aufgrund der Verteilung in diesem Grid bestimmt dann der Chip welches Grid für die weitere Verarbeitung und das Speichern benutzt wird.Beim Einladen wird dann das 8*8 Grid wieder rekonstruiert. Wenn man das richtig macht erreicht man mit dem Speicher und Bandbreitenbedarf von 2xAA + ein bischen Zusatzinfomation für einen sehr grossen Teil des Bild die Qualität eines 64xOGAA.

Klingt interessant als Grundlage.

Uebrigens OT:

(und dass ich nicht schon wieder einen extra Thread aufmachen muss den ihr schliessen muesst...)

Hat jemand das hier schon gelesen?

http://www.beyond3d.com/forum/viewtopic.php?t=8005

Wenn nicht, verdient das Ganze nicht einen extra Thread hier im Tech-Forum?

Demirug
2003-09-22, 20:03:50
Original geschrieben von Ailuros
Klingt interessant als Grundlage.

Uebrigens OT:

(und dass ich nicht schon wieder einen extra Thread aufmachen muss den ihr schliessen muesst...)

Hat jemand das hier schon gelesen?

http://www.beyond3d.com/forum/viewtopic.php?t=8005

Wenn nicht, verdient das Ganze nicht einen extra Thread hier im Tech-Forum?

Exxtreme hat das schon in einem anderen Thread verlinkt.

http://www.forum-3dcenter.org/vbulletin/showthread.php?s=&threadid=73365&perpage=20&pagenumber=7

unwissend!
2003-09-22, 20:06:31
@aths
Danke für die schnelle Antwort! :up:

cu unwissend!

MadManniMan
2003-09-22, 20:22:43
Original geschrieben von aths
Bei den "wichtigen" Kanten ist es sogut wie egal, ob 4x RG oder 4x4 OG. Bei bestimmten anderen Winkeln gilt eine andere "effektive" EER, "die" EER gilt ja so nur für horizontale und vertikale Kanten. 2x RG z.B. ist ja bei 45° Winkeln sehr schlecht, wenn man stattdessen 4x OG für 10% Leistung bekommt, würde ich 4x OG vorziehen. Noch sehr viel lieber wäre mir allerdings 4x RG. Ich denke du verstehst, worauf ich hinaus will http://www.aths.net/files/smilies/smile.gif.

Jup, erzählst mir 0 Neues ;)

Xmas
2003-09-23, 16:08:28
Original geschrieben von Gast
SimonFenney von IMG behauptet dasselbe. Er ist von sowas überhaupt nicht begeistert.
Simon Fenney schrieb auch mal dass er von RG nicht begeistert ist.

Ich bin temporärem pseudo-zufälligem AA übrigens gar nicht soo abgeneigt. Allerdings muss dazu auch das Anzeigegerät ein paar Bedingungen erfüllen.

Demirug
2003-09-23, 16:54:40
Ich habe mir mal jetzt mal ein Paar Theorien zum "Stochastic Sampling" durchgelesen.

Die Kernaussagen sind dabei immer die selbe.

- Das menschliche sehen reagiert empfindlicher auf Aliasing als auf rauschen weil aufgrund der "Bauweise" unserer Augen das Gehirn sowieso ständig rauschen herausfiltern muss.

- Anti-Aliasing Methoden mit einem festen Grid für alle Pixel sind nicht in der Lage jedes Aliasing zu beseitigen.

- "Stochastic Sampling" hat nun das Ziel die Bildbereiche die es nicht vom Aliasing befreien kann entsprechend zu verauschen damit diese Bildbereiche nicht mehr die Aufmerksamkeit auf sich ziehen.

MadManniMan
2003-09-23, 17:06:36
Original geschrieben von Demirug
- Das menschliche sehen reagiert empfindlicher auf Aliasing als auf rauschen weil aufgrund der "Bauweise" unserer Augen das Gehirn sowieso ständig rauschen herausfiltern muss.

- Anti-Aliasing Methoden mit einem festen Grid für alle Pixel sind nicht in der Lage jedes Aliasing zu beseitigen.

- "Stochastic Sampling" hat nun das Ziel die Bildbereiche die es nicht vom Aliasing befreien kann entsprechend zu verauschen damit diese Bildbereiche nicht mehr die Aufmerksamkeit auf sich ziehen.

Den ersten Punkt kann ich noch nachvollziehen, bei den anderen beiden kreist mir nur der Finger um den Kopf...

...:crazy:

unwissend!
2003-09-23, 17:29:14
Original geschrieben von Demirug
- "Stochastic Sampling" hat nun das Ziel die Bildbereiche die es nicht vom Aliasing befreien kann entsprechend zu verauschen damit diese Bildbereiche nicht mehr die Aufmerksamkeit auf sich ziehen.

Öhm, was hat dieses "verauschen" zu bedeuten? :kratz2:
Heißt das soviel wie der Bereich wird dann "unscharf/verwaschen" gemacht??? Wenn dem so ist, könnte der Effekt mit AF ausgeglichen werden?

cu unwissend!

MadManniMan
2003-09-23, 17:44:54
Original geschrieben von unwissend!
Öhm, was hat dieses "verauschen" zu bedeuten? :kratz2:
Heißt das soviel wie der Bereich wird dann "unscharf/verwaschen" gemacht??? Wenn dem so ist, könnte der Effekt mit AF ausgeglichen werden?

cu unwissend!

Neinnein. Es heißt einfach nur, daß kein festes Subpixelraster für die AA-Abtastung verwendet wird, sondern für verschiedene Pixel differiert. Das soll eine "natürliche Unruhe" ins Bild bringen und gleichzeitig das Problem aus dem Weg räumen, daß starre Raster geringer Subpixelanzahl mit gewissen Winkeln Probleme haben. Gleichzeitig kommt jedoch das Problem auf, daß hin und wiedr arg suboptimale Raster für Kanten gewählt werde könnten und im Endeffekt werden Kanten nicht mehr wirklich geglättet, sondern aufgerauht - wenns recht wenig Subpixel bleiben.

unwissend!
2003-09-23, 17:54:48
@MadManniMan
Das keine "starre Maske" zum Abtasten benutzt wird sondern eine die per "Zufall" generiert wird ist mir soweit klar, auch das "starre Masken" unter gewissen Umständen Probleme haben.

ABER: Irgendwie steh ich auf dem Schlauch was es mit "natürliche Unruhe" und "verauschen" auf sich hat. Ich kann mir nicht vorstellen was damit gemeint ist :kratz2:

cu unwissend!

Ailuros
2003-09-23, 19:31:22
Original geschrieben von Xmas
Simon Fenney schrieb auch mal dass er von RG nicht begeistert ist.

Ich bin temporärem pseudo-zufälligem AA übrigens gar nicht soo abgeneigt. Allerdings muss dazu auch das Anzeigegerät ein paar Bedingungen erfüllen.

Ja aber damit meinte er was im strengen Sinn auch mit rotated grid meint und nicht sparce grid.

Ordered grid:

---x----x---
------------
---x----x---

Rotated grid:

-----x-----
--x-----x--
-----x-----

Sparce grid:

----x------
--------x--
--x--------
------x----

Bekloppte Illustration aber Du verstehst schon was ich meine.

Ailuros
2003-09-23, 19:36:23
Original geschrieben von MadManniMan
Den ersten Punkt kann ich noch nachvollziehen, bei den anderen beiden kreist mir nur der Finger um den Kopf...

...:crazy:

Siehe meinen vorigen Post und die Illustration von wahrem rotated grid. Es kann sein dass Du schlechtere Resultate teilweise bekommen kannst als bei Ordered Grid, wenn Du nur alle samples eines OG um genau 45 Grad verdrehst.

Stochastic sampling sieht meiner Meinung nach als eines der besten zukuenftigen Alternativen aus, nur muss es verdammt kompliziert sein bis jetzt es in HW zu implementieren.

Aquaschaf
2003-09-23, 19:52:10
Stochastic Sampling dürfte aber, wenn keine Bewegung im Bild ist etwas unschön aussehen. Und wie sähe es da mit schwankenden Framerates aus, dann müsste die Geschwindigkeit oder Stärke des Rauschens doch auch schwanken?

Ailuros
2003-09-23, 20:02:58
Altes Zeug von SA bei B3D:

Anti-aliasing is a broad subject that is not limited to 3d graphics. In fact, much of the original research was done for sound processing.

There are several things to consider when evaluating the effectiveness of an anti-aliasing mechanism at removing aliasing. These include the filter shape, the filter size, and the continuity (sampled versus analytical input and filter function).

In addition to effectiveness you must also consider bandwidth and computational requirements.

For analytical input such as procedural textures the most effective anti-aliasing technique is to use an analytical windowed sync filter kernel such as the Lanczos3 sycn filter (spline based). This is not practical yet for real time 3d.

For sampled input such as traditional sampled textures, true analytical filters are not an option and some form of sampled anti-aliasing must be used. Two of the best sampling anti-aliasing techniques are stocastic jittered sampling and sparse supersampling.

Stocastic jittered sampling is better when a large number of samples (say >32 in the kernel) is used.

Sparse supersampling works better for a smaller number of samples (say <= 32) since it provides a better use of samples at near horizontal and near vertical edges. Rotated grids are a simple mechanism that achieves some of this, however sparse supersampling provides even better use of the samples than a simple rotated grid. For instance, for 16 samples an ordered grid provides only 4 levels of gradation for near horizontal and near vertical edges, while a rotated grid will provide more gradations at these angles is has a similar problem to ordered grid at other angles. 16x sparse supersampling however provides 16 levels of gradation at all edge angles. Thus all the samples are fully utilized to provide graduated colors at all edge angles. When the number of samples gets high enough, it can be worthwhile to use a better filter shape (weighted) than a simple box filter.

Multi-sampling eliminates much of the high memory bandwidth costs by using the same surface color for each surface sample in a pixel (so the color is only calculated once per pixel rather than once per sample), but it only anti-aliases edges and requires special handling to properly deal with alpha blending. It must be coupled with anisotropic filtering of the textures for complete anti-aliasing of the scene. In this case, multi-sampling only processes the sample z values at the edge pixels, while anisotropic filtering only processes the sample color values at the interior pixels thereby eliminating much of the processing.

Anisotropic filtering has also been the focus of a lot of early anti-aliasing research. This is an efficient mechanism for anti-aliasing textures since it doesn't need to store or compare the z values at each of the sample points, eliminating this cost for all the interior pixels. The best forms of anisotopic filtering use adaptive, jittered sampling based on the degree of anisotropy and using a weighted filter kernel. It also requires some special handling to properly deal with alpha blended transparency.

Supersampling (using say either sparse supersampling or stocastic jittered supersampling techniques) provides a slightly better quality than a combination of multi-sampling and anisotropic filtering for the same number of samples per pixel and using the same sampling technique since it properly deals with variations of color within a pixel and properly deals with transparency with no special handling (assuming the surfaces were ordered properly when rendered). However, it comes at a very high cost in memory bandwidth and processing bandwidth, usually far too high for the slightly added benefit on current 3d hardware.

http://www.beyond3d.com/forum/viewtopic.php?t=776&highlight=sparse

While multi-sampled AA using sparse grid sampling coupled with a hiearchical z buffer and efficient compression can provide fairly efficient AA, I think coverage mask techniques will be the long term solution for traditional renderers.

They can provide very high sampling such as 16x, 32x, or even 64x AA with a memory bandwidth cost of just a little over one bit per sample and only one z (including z slopes) sample point per pixel, yet the results can be equivalent to fully sampling the z at every sample point.

When coupled with sparse grid sampling patterns and the other benefits found in techniques such as Z3 and FAA, coverage mask AA becomes very compelling.

TBRs don't really need coverage mask AA techniques for external memory bandwidth reasons. However, such techniques might require less silicon than brute force sampling for high sample AA such as 16x or higher.


http://www.beyond3d.com/forum/viewtopic.php?t=6348&postdays=0&postorder=asc&highlight=stochastic*&start=120

Interessante Diskussion auch hier:

http://www.beyond3d.com/forum/viewtopic.php?t=3818&postdays=0&postorder=asc&highlight=stochastic*&start=0

KiBa
2003-09-23, 20:03:26
ich denke mal, mit rauschen ist das rauschen über die bildebene gemeint, nicht über die zeit.
ein pixel hat in jedem frame dasselbe raster, dieses raster ist aber für jedes einzelne pixel des bildes "zufällig" anders. das muss natürlich reproduzierbar sein, sonst gibts wirklich unschöne effekte beim framewechsel.

Ailuros
2003-09-23, 20:19:33
The purpose of stochastic sampling is to introduce _controlled_ randomness in order to change the Fourier transform to something more useful and thereby to trade off aliasing with some noise function.

The sample points should not change between frames. Changing them will introduce a different noise function on every frame, and therefore cause visual artifacts.

Having read and thought through this, I believe that the sampling points can actually change from pixel to pixel, but not from frame to frame (or for repeated accesses to the same subpixel).

More correctly, it shifts the error in the signal from lower to higher frequencies. The aliasing is still there but is less annoying to our visual system.

A better solution is to have the pseudo-random displacements "parameterised". The parameters can then include screen position and time and so you can get 100% repeatability yet eliminate pixel-to-pixel and frame-to-frame correlation.

Aquaschaf
2003-09-24, 18:50:35
ok, damit wäre das geklärt.