Cost of 3dfx RGSS AA on current hardware?

As I wrote on previous page, I took a liberty to modify Humus' supersampling demo, so that its samples perform the 'double duty'. I also added 8-sample mode. For easier comparison, you can suppress spatial and/or temporal jitter by holding left or right mouse button respectively. Download Humus' AntiAlias demo and replace its exe with the modified version (it's free-hosted, so the link will expire eventually). If you have reservations about running exe from untrusted source (yours truly ;)), the program can be rebuilt by anyone from the provided sources.
That was interesting. 4 samples with a solid 60 frames/s looked really good.

But there was something screwy going on. Edges had more intermediate shades than the amount of samples should be able to produce (obvious when samples set to 1 or 2), and I could clearly see some slight spatial AA when holding the left mouse button down. :???: Humus' original version worked as expected.

BTW, I did run the exe. I better not have a hidden virus on my system now! ;)
 
Well, I can only invite you to see it in work. It doesn't look as bad as you're describing it. I can hardly see any degradation in spatial AA.
That's certainly an interesting demo - it produces an effect very similar to what I'd expect. IMHO, it's a very good effect! In particular, when shaking the mouse rapidly, I can still tell get a feeling of how my "head" is moving with the temporal AA/motion blur, whereas without it the screen degenerates into an ugly mess.

I can also comfortably run even 11 samples @ 1920x1200 and maintain 60Hz, although the scene is quite simple. Still, some games are quite simple as well, and video cards are only going to get faster. I still think this could be a useful technique going forward.
 
For an effect like that a post processing filter would be better imho:
1) render a full precision per pixel detph value
2) run a shader over the entire screen to compute per pixel screen space coordinates for the previous frame-> compute velocity vector -> blur accordingly
 
It requires less fill-rate to render part of the screen four times and the rest of the screen once than it does to render the entire screen four times. Or are you trying to disagree with that?
You need to render every sample per pixel, otherwise the clear color will be blended into the final result. Thus when you render the rest of the scene once, you have to use 4x supersampling (on VSA-100, which can't do multisampling), which means 4 times the fillrate requirement despite rendering the geometry only once.
 
For an effect like that a post processing filter would be better imho:
1) render a full precision per pixel detph value
2) run a shader over the entire screen to compute per pixel screen space coordinates for the previous frame-> compute velocity vector -> blur accordingly
Perhaps for exclusively motion blur this is quite acceptable (albeit less accurate... not that it really matters), but the supersampling scheme solves many problems at once: spatial aliasing (both edge, shader and texture), and temporal aliasing as well. Sure it's a bit expensive right now, but with more and more of these aliasing issues showing up (triangles getting smaller, more textures, more complex shader functions, etc), it may well be worth it to supersample.
 
Now all you've done is shift the argument to whether or not moving objects need spatial-AA and what the definition of "fast moving" is. Since people currently complain about edge-aliasing on moving objects in games, one could conclude that edge aliasing effects are still annoying, even in motion. Any object moving more than 1 pixel per frame is going to have edge aliasing.

I don't know how much of a shift it was, I read it as "AA what needs to be AAed, and blur what benefits to get blured" all the time. (But I agree that it wasn't explicitly said.)
If people complain about edge-aliasing on moving objects, then they probably talk about situations that neither are AAed in normal way, nor have motion blur. Rember that the edges that are in most need of AA are high contrast edges. With motion blur, you'll reduce the contrast in fast moving edges with the same factor as the number of samples you average. So even it the fast moving edge won't get AAed per se, it will still have less visible aliasing.

And I'd guess that most of the times when people complain about aliasing on moving objects, it's about slow objects, that move less than one pixel per frame. (At least that's the one that are most visible to me.)

You end up with crappy looking motion blur (motion trails instead of blur) and inferior spatial AA.
Motion blur and motion trails are two different things for me, and bad motion blur does not equal motion trails. Motion trails is what you get if you blend images over a time that is longer than the frame time.
 
But there was something screwy going on. Edges had more intermediate shades than the amount of samples should be able to produce (obvious when samples set to 1 or 2), and I could clearly see some slight spatial AA when holding the left mouse button down. :???: Humus' original version worked as expected.

Make sure that HKEY_LOCAL_MACHINE\SOFTWARE\Humus\FSAALevel is set to zero so you don't get multisampling enabled. I think the original demo was compiled before I added the FSAA option to Framework2. For Framework2 I never added a UI way of changing the multisample settings, but it's shared with the first Framework though. Framework3 has it's own settings (now in HKEY_CURRENT_USER as it should be) and a GUI so there should be less confusion there.
 
but the supersampling scheme solves many problems at once: spatial aliasing (both edge, shader and texture), and temporal aliasing as well.
I wonder if it would be good idea to also jitter positions of light sources in each sample, to soften aliased shadow edges.
 
I wonder if it would be good idea to also jitter positions of light sources in each sample, to soften aliased shadow edges.
Certainly couldn't hurt, although it would mean that you couldn't reuse shadow maps (no biggie really if you can afford super-sampling in the first place).
 
How is the AA in rthdribl achieved? It even has a 16x mode, and the more samples, the better the motion blur looks indeed, so I guess it must be working. Does it have its own version of anti-aliasing??
I asked the author about this years ago - IIRC, he mentioned "multipass" quite a lot..as in 40+ per frame.
 
Back
Top