PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Interessante Bilder zum AA


Omnicron
2005-07-25, 01:44:01
Hi, ich hab mal mit meinen Bildvergleichstool rumgespielt und verschiedene AA modi vergleichen.
Was mir komisch vorkommt ist, das anscheinend auch Kanten geglättet werden die man garnicht sieht. Bei dem Bogen werden z.b. die ganzen Berührungskanten der einzelnen Polygone geglättet, obwohl zwischen ihnen anscheined keine Lücke ist.
Wie ich das sehe wäre es für die Performance doch wesentlich besser, wenn man den Bogen als ein grosses Polygon modelliert, und man so viel weniger (interne) Kanten für das AA produziert.

Originalszene:
http://img224.imageshack.us/img224/576/sesam20xaa1nm.th.jpg (http://img224.imageshack.us/my.php?image=sesam20xaa1nm.jpg)


Pixel die sich von 0xAA->2xAA verändern:
http://img224.imageshack.us/img224/8112/0xaa2xaa9th.th.png (http://img224.imageshack.us/my.php?image=0xaa2xaa9th.png)


0xAA->4xAA:
http://img224.imageshack.us/img224/1684/0xaa4xaa8xm.th.png (http://img224.imageshack.us/my.php?image=0xaa4xaa8xm.png)


0xAA->4xAA andere Szene:
http://img332.imageshack.us/img332/3035/bubble0xaa04xaaorg6wx.th.gif (http://img332.imageshack.us/my.php?image=bubble0xaa04xaaorg6wx.gif)


Sieht mir so aus als ob sogar die (innenliegenden :| ) Kanten der Skybox geglättet werden.
http://img332.imageshack.us/img332/7940/bubble0xaa04xaa3ed.th.png (http://img332.imageshack.us/my.php?image=bubble0xaa04xaa3ed.png)

Coda
2005-07-25, 01:48:28
Die Grafikkarte kann beim Rasterizing nicht entscheiden ob man Kanten "sieht". AA ist kein Postfilter.

MSAA ist eigentlich schon das Optimalste was man herausholen kann weil nur mehr Geometrie- und nicht mehr Textursamples genommen werden. Bei SSAA wäre fast das ganze Bild rot ;)

Wie ich das sehe wäre es für die Performance doch wesentlich besser, wenn man den Bogen als ein grosses Polygon modelliert, und man so viel weniger (interne) Kanten für das AA produziert.Alle modernen GPUs können ausschließlich Dreiecke rendern.

Neomi
2005-07-25, 02:03:53
Wie ich das sehe wäre es für die Performance doch wesentlich besser, wenn man den Bogen als ein grosses Polygon modelliert, und man so viel weniger (interne) Kanten für das AA produziert.

Nicht nur die "internen" Kanten werden mitgeglättet, sondern auch die komplette Fläche innerhalb eines jeden Dreiecks, auch bei MSAA. Das hat zwar keinen sichtbaren Effekt, solange sich keine Dreiecke schneiden, aber so wird es berechnet. Generell ist es einer FSAA-Implementation herzlich egal, wo nun Kanten sind und wo nicht, sie glättet einfach die gesamte Geometrie und im Fall von SSAA auch Texturen.

Die Sache mit dem einen großen Polygon würde nur Probleme verursachen und massiv Geschwindigkeit kosten. Die drei Eckpunkte eines Dreiecks liegen immer in einer Ebene und sie sind immer konvex. Auf diese Eigenschaften würdest du wirklich nicht verzichten wollen, wenn es an das Design eines Rasterizers geht.

Coda
2005-07-25, 02:10:51
Nicht nur die "internen" Kanten werden mitgeglättet, sondern auch die komplette Fläche innerhalb eines jeden Dreiecks, auch bei MSAA.Es werden mehr Geometriesamples genommen, aber ob das jetzt eine "Glättung innerhalb des Dreiecks ist"? :|

Naja vielleicht blöd ausgedrückt ;)

Neomi
2005-07-25, 02:53:01
Es werden mehr Geometriesamples genommen, aber ob das jetzt eine "Glättung innerhalb des Dreiecks ist"? :|

Sagen wir mal, die Dreiecksfläche wird potentiell geglättet. Immerhin tritt ein Glättungseffekt auch ganz ohne Dreieckskanten ein, wenn ein Dreieck ein anderes schneidet...

Naja vielleicht blöd ausgedrückt ;)

Quasi ja. :D

Gohan
2005-07-25, 03:17:54
Ich bin zwar kein Experte, aber die Matrox Parhelia hat es so gehandhabt, das sie nur die außenliegenden Kanten geglättet hat. Schnittflächen und innenliegende Kanten wurden vom FAA ausgesparrt.