New selective supersampling demo

Humus

Crazy coder
Veteran
I made a demo that does selective supersampling in the shader. The floor bumpmap is slightly aliasing prone, which is taken care of by supersampling the specular lighting. It only supersamples the floor material and only the specular component of it. This allows the performance to stay fairly high, despite the supersampling. It sticks to about 60% the original with 4x supersampling on my X1800XL AIW.

selectivesupersampling.jpg


Grab here:
http://www.humus.ca/

Use keys 1-6 to select supersample level and 0 to toggle the slight view wobbling.

Discuss! :)
 
The results are clearly noticeable when going frm zero to three by pressing the number 2. When looking at the ground at about a 30 to 40 degree angle and with the light shining on it I could see quite a bit of aliasing. Going to the first option clearly showed a clean up of the mess. Thank you for this useful tool.

I'm on a 6600GT if that helps.
 
Cool.
I get about 65 fps on a 7800GT/ 2.4 ghz A64 with 4x MSAA and 11 sample SSAA.
 
BTW Humus, since you work for ATI and due to this piece of work of yours, can you tell us if ATI's DevRel ever brought up the topic of tackling aliasing (and not about AA per se, which are quite separate topics if you think about it) to developers?
 
just wondering if you are using dynamic branching at all? ie, only if the first sample is above 0.1 or such? It would be interesting to know what sort of performance difference doing something like this would give (and possible visual difference). Also are extra texture fethes involved when sampling?

Nice demo :)
 
tEd said:
Even with 3 samples most of the aliasing gets killed

Yeah, 4 looks to be the best balance of anti-aliasing/performance for me. Pegged at 999 with no supersampling so I'm not sure if that's some artificial limit. Drops to ~ 660 with 3 samples and ~ 560 with 4. X1900XT. Still get noticeable aliasing in the distance even with 11 samples - is that normal?
 
Reverend said:
BTW Humus, since you work for ATI and due to this piece of work of yours, can you tell us if ATI's DevRel ever brought up the topic of tackling aliasing (and not about AA per se, which are quite separate topics if you think about it) to developers?

Sure, but not neccesarily with techniques related to this though.
 
Graham said:
just wondering if you are using dynamic branching at all? ie, only if the first sample is above 0.1 or such? It would be interesting to know what sort of performance difference doing something like this would give (and possible visual difference). Also are extra texture fethes involved when sampling?

Nice demo :)

I experimented a bit with dynamic branching based on the gradient of the bumpmap, but could only get a small performance increase or clearly worse supersampling effect too, so I skipped it. I may play with it a bit more later on. One could probably branch based on angles or mipmap level and so on.

There are extra texture fetches from the normal map each sample, but the rest are only sample once.
 
radeonic2 said:
Cool.
I get about 65 fps on a 7800GT/ 2.4 ghz A64 with 4x MSAA and 11 sample SSAA.

215fps on a X1900XT/2.4 ghz A64 with 6x MSAA 16x AF HQ and 11 sample SSAA. :cool: Humus, how come there's a negligible performance hit for AF?
 
trinibwoy said:
Yeah, 4 looks to be the best balance of anti-aliasing/performance for me. Pegged at 999 with no supersampling so I'm not sure if that's some artificial limit. Drops to ~ 660 with 3 samples and ~ 560 with 4. X1900XT. Still get noticeable aliasing in the distance even with 11 samples - is that normal?

There's no artificial limit. Resize the window and you could hit above 1000.
I don't see any aliasing in the distance. Most of it is very close to the camera.
 
Humus said:
There's no artificial limit. Resize the window and you could hit above 1000.
I don't see any aliasing in the distance. Most of it is very close to the camera.

Ah ok, I only see it when windowed - it looks like "shimmering" on the floor all the way to the back. Tried it fullscreen - 95fps 16x12 6x/16x 11xSS. :smile:
 
AIW X1900 (500MHz)

1600x1200 fullscreen, 6x/16x, 11 samples, CAT A.I. on - 80fps
1600x1200 fullscreen, 6x/16x, 11 samples, CAT A.I. off - 44fps

HQ AF was off both times.
 
Rys said:
AIW X1900 (500MHz)

1600x1200 fullscreen, 6x/16x, 11 samples, CAT A.I. on - 80fps
1600x1200 fullscreen, 6x/16x, 11 samples, CAT A.I. off - 44fps

HQ AF was off both times.
Pics!

Jawed
 
The performance penalty between "quality" and "high quality" AF on GeForces is also around the 50% mark :p
 
Humus, I was just looking though your page, and found your Cel-Shading demo. Reading the blurb it sounds like the line finding part of that, and the super sampling part of your new demo could be linked to reproduce Matroxs Fragment-AA. Am I off base with that?

I wonder what the performance benefit of this kind of FAA would be compared to MSAA in non-shader limited games?

Ali
 
The AA used in Humus' demo is adaptive shader antialiasing; you can add either through the demo or through the driver CP any other form of FSAA for the rest of the scene.
 
Back
Top