PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Unterschied zwischen Sparse und Ordered Grid bei AA


Akkarin
2014-04-23, 16:02:21
Laut diesem B3D: http://www.beyond3d.com/content/articles/122/5 artikel ist sparse grid einfach das drehen der samplepositionen, ich kannte das allerdings bisher als rotated grid.

Exxtreme
2014-04-23, 16:36:17
Sparse kann gedreht aber auch ziemlich ungeordnet sein. Gedrehtes Raster ist so eine Art Untermenge von Sparse Grid. ;)

Spasstiger
2014-04-23, 16:46:09
Sparse Grid bedeutet, dass die Samples so verteilt sind, dass keine zwei Samples auf derselben horizontalen oder vertikalen Linie liegen. Damit wird die EER (edge equivalent resolution) optimiert. Ein um 45° gedrehtes Ordered Grid hat denselben Effekt, es wird dann zum Sparse Grid. Rotated Grid und Sparse Grid schließen sich nicht gegenseitig aus.
Hier kann man die Sampleverteilungen aktueller GPU-Architekturen anschauen: http://www.computerbase.de/2012-04/test-intel-graphics-hd-4000-und-2500/3/.
Afaik sind das aber keine echten Rotated Grids, die Abstände der Punkte weichen vom Ordered Grid ab (andere Skalierung). Sparse Grids sinds in jedem Fall. Normalerweise unterteilt man ja sein Pixel in ein Raster, z.B. 16x16, und platziert die 2, 4, 8 oder 16 Samples in jeweils einem Feld des Rasters.

AwesomeSauce
2014-04-23, 17:01:09
Normalerweise unterteilt man ja sein Pixel in ein Raster, z.B. 16x16, und platziert die 2, 4, 8 oder 16 Samples in jeweils einem Feld des Rasters.
Warum ist das so? Warum nicht irgendein (Poisson verteiltes) Muster?

EDIT: Warum sind die Sample-Positionen bei Nvidia und AMD so ähnlich (fast identisch) und bei Intel so unterschiedlich?

del_4901
2014-04-23, 17:14:47
Warum ist das so? Warum nicht irgendein (Poisson verteiltes) Muster? Die Samplemaske fuer alle Pixel in einem Drawcall konstant. Und das ist halt einfach nur ein optimiertes Muster, was sich bewaehrt hat.

EDIT: Warum sind die Sample-Positionen bei Nvidia und AMD so ähnlich (fast identisch) und bei Intel so unterschiedlich? Unterschiedliche Erfahrungswerte.

AwesomeSauce
2014-04-23, 17:33:39
Die Samplemaske fuer alle Pixel in einem Drawcall konstant. Und das ist halt einfach nur ein optimiertes Muster, was sich bewaehrt hat.
Die Frage bezog sich mehr auf den Fakt, dass die Samples überhaupt auf einem Grid verteilt sind. Hat vermutlich etwas mit Noise zu tun.

Tesseract
2014-04-23, 18:13:38
Laut diesem B3D: http://www.beyond3d.com/content/articles/122/5 artikel ist sparse grid einfach das drehen der samplepositionen, ich kannte das allerdings bisher als rotated grid.

das was du als rotated grid kennst ist in wahrheit auch ein sparse grid. bei 2x und 4x sieht das sparse-muster nur "zufällig" so aus als wäre es ein rotiertes+skaliertes ordered grid weil das bei 2 bzw. 4 samples halt eine gute verteilung ist, deswegen wird das manchmal als "rotated grid" bezeichnet. es ist aber, wie gesagt, nicht nur rotiert sondern auch skaliert und intern wird es nicht anders behandelt/berechnet als die anderen sparse-muster auch.

Raff
2014-04-23, 22:35:08
Besteht eigentlich irgendeine Möglichkeit, die AA-Samplepositionen selbst festzulegen? Heutzutage ist schließlich alles programmierbar. Schon für die Voodoo 5 6000 schrieb jemand vor Urzeiten ein Tool, mit dem man die Samples selbst streuen (http://www.forum-3dcenter.org/vbulletin/showpost.php?p=3275453&postcount=10) konnte, inklusive eines "Optimized"-Presets. Nicht dass das irgendwie sinnvoll wäre, weil die aktuellen Muster erprobt sind, aber für geekige Tests und Veranschaulichung wär's praktisch. :)

MfG,
Raff

del_4901
2014-04-24, 03:13:16
Nicht dass das irgendwie sinnvoll wäre, weil die aktuellen Muster erprobt sind, aber für geekige Tests und Veranschaulichung wär's praktisch. :)Use Cases gibt es genug, z.B. unterschiedliche Samples in Verbindung mit temporal AA.

AwesomeSauce
2014-05-05, 22:50:23
Besteht eigentlich irgendeine Möglichkeit, die AA-Samplepositionen selbst festzulegen?
AMD hat eine OpenGL Extension dafür:
4.1. GL_AMD_sample_positions
Setting the sample positions is to me a very useful feature for post processing antialiasing but also for very high multisample rendering using multiple passes.
Another approach is based on considering that the eye is a continuous integrator of a signal.
Using different sample position per frame, each frame will be slightly different and the eye will perceive less aliasing. This is called temporal antialiasing.

Current hardware support: AMD Evergreen
Expected hardware support: All OpenGL 5 hardware
http://www.g-truc.net/doc/Candidate%20features%20for%20OpenGL%205.pdf