Software Anti-Aliasing

BTW, since it appears some aren't clear on what I mean by "software AA" -- Xmas basically said it. You develop an AA algorithm that does not depend nor use hardware for AA.
 
Reverend said:
What screenshots are you talking about? How were those screenshots taken (i.e. I'm assuming you're talking about screenshots with AA enabled... how is the AA enabled in the screenshots)?

i'm talking about the same damn screenshots you brought up. what the fuck?!?
 
kyleb said:
Reverend said:
What screenshots are you talking about? How were those screenshots taken (i.e. I'm assuming you're talking about screenshots with AA enabled... how is the AA enabled in the screenshots)?

i'm talking about the same damn screenshots you brought up. what the fuck?!?
WTF indeed :)

Sorry. Yes, I did allude that we can view screenshots of Doom3, at very high rez and with very high # of samples.

Doom3 allows you to specify in its menu the type of AA (2x, 4x, etc) you want, and also at the rez you want. Are you saying that you set the AA + rez within this menu to what you want and then grab a screenshot using the game's screenshot key? What's the max rez and max AA you can set using the game's menu?
 
Reverend said:
WTF indeed :)

Sorry. Yes, I did allude that we can view screenshots of Doom3, at very high rez and with very high # of samples.

exactly.

Reverend said:
Doom3 allows you to specify in its menu the type of AA (2x, 4x, etc) you want, and also at the rez you want. Are you saying that you set the AA + rez within this menu to what you want and then grab a screenshot using the game's screenshot key?

no, why the hell would i be talking about that? it would be rather off topic in this thread. why in the world do you ask?

Reverend said:
What's the max rez and max AA you can set using the game's menu?

1600x1200 for the res just like anyone else who's monitor supports i am sure. as for aa, the menu goes up to x16 for everyone but x4 is the highest setting in the menu that actually gives any aa as that is the highest setting in the menu that radeons will support. where the hell are you going with this?
 
One way to do super-sample anti-aliasing in 'software' is to render the scene multiple times from a slightly shifted viewpoint (e.g. half a pixel), and average those together. The advantage is that you don't need a huge color buffer, because 'averaging' is as easy as accumulating colors that have been divided by the number of samples you're taking, or blending with the appropriate blend factors. The disadvantage is that you completely re-render the scene multiple times.

You need support for this from the application though (re-rendering the scene). But it should be perfectly orthogonal to any other form of anti-aliasing. So you can combine multiple techniques to get the best balance between quality, performance and memory usage.
 
kyleb, you said that you're seeing supersampling AA when viewing Doom3 screenshots, when AA is set using Doom3's menu. ATI and NV hardware uses multisampling for AA. Who's doing the AA when you set AA in Doom3 -- Doom3 or the resident hardware?
 
Reverend said:
Doom3 allows you to specify in its menu the type of AA (2x, 4x, etc) you want, and also at the rez you want.

(sorry to go off on a tangent here)

Doom 3 also allows you to specify screenshots' resolution and AA sampling independent of your regular ingame settings.


bind "key" width height AAsamples

:D
e.g.
bind t 4096 3072 16

Works a charm, but it screws up the game if you set the screenshot resolution higher than your game setting AND when the heat haze effect is in the screen. It's interesting to see how the game takes the super high resolution screenshots though with the high AA sampling.

Actually, it seems that Doom 3 renders the scene multiple times, kind of like what Nick describes. You can see the screen shift ever so slightly when you take a screenshot with 16 samples specified.
 
Reverend said:
kyleb, you said that you're seeing supersampling AA when viewing Doom3 screenshots,

that part is right, screenshots done in the way you described here:

Reverend said:
You can't play Doom3 with its own form of "AA" but you can look at it at super high rez (way beyond what resident monitor supports) with super number of samples (beyond max number of "samples" supported by resident 3D hardware) in an image viewer app.

that was you wasn't it? or did someone steal your screen name?


Reverend said:
...when AA is set using Doom3's menu.

i have no clue where you got that part from though; suffering hallucinations?


Reverend said:
ATI and NV hardware uses multisampling for AA.

well nvidia does a bit of both in some modes, but basicly you are right. yet again, what the hell does that have to do with anything?

Reverend said:
Who's doing the AA when you set AA in Doom3 -- Doom3 or the resident hardware?

let me remind you of something:

Reverend said:
You can't play Doom3 with its own form of "AA" but you can look at it at super high rez (way beyond what resident monitor supports) with super number of samples (beyond max number of "samples" supported by resident 3D hardware) in an image viewer app.


i think that was you who said that; are you on drugs or something?
:?
 
oh and ya Nick, what you are talking about was done in hardware on the voodoo4/5, it was refered to as rotated grid super sampleing. i argee with Alstrong that it looks like that is what is being done in with the special screenshot aa in doom3.
 
kyleb said:
oh and ya Nick, what you are talking about was done in hardware on the voodoo4/5, it was refered to as rotated grid super sampleing. i argee with Alstrong that it looks like that is what is being done in with the special screenshot aa in doom3.
So they did it without application support? Cool...
 
jvd said:
I also think the neon 250 uses software fsaa. Other than that i can't help
No. Neon had full HW support including automatically rendering to the target resolution but with 4x the number of samples.

IIRC, the geforce first rendered to a high resolution framebuffer and then did another pass to downsample to the final display res'.
 
So they did it without application support? Cool...

IIRC they used one GPU for each sample. So a 4-GPU VooDoo card (or 4 cards in SLI-configuration?) would get you 4x AA.
It was the only way to get efficient rotated grid AA at the time, I guess (the supersampling method I described earlier would only work on ordered grids ofcourse, and no larger than 2x2, with just bilinear filter).

As a sidenote, ATi has a programmable grid since R300. This is what allowed them to enable the temporal AA algorithm. They just pingpong between two grids. The blending is done by the persistence-of-vision of the human eye. Bio-engineering? :)
 
actually it is one sample per-pipeline; so the voodoo4 with one two-pipe chip could do x2; the voodoo5 5500 with two of the chips could do x4, and those few voodoo5 6000s out there can do x8. if anyone is interested in diging up the white papers on the method "t-buffer" is the term to look under.
 
actually it is one sample per-pipeline; so the voodoo4 with one two-pipe chip could do x2; the voodoo5 5500 with two of the chips could do x4, and those few voodoo5 6000s out there can do x8. if anyone is interested in diging up the white papers on the method "t-buffer" is the term to look under.

Ah, right...
But that still explains why it doesn't require application support. The hardware is set up in such a way that the multiple samples can be rendered by different pipelines or even GPUs, at the same time.

If you would want to implement it with a single pipeline without application support, you have no choice but to batch the entire scene in the driver, and send it to the GPU multiple times, once for each sample. This would be bug-prone and slow.
 
Nick said:
One way to do super-sample anti-aliasing in 'software' is to render the scene multiple times from a slightly shifted viewpoint (e.g. half a pixel), and average those together. The advantage is that you don't need a huge color buffer, because 'averaging' is as easy as accumulating colors that have been divided by the number of samples you're taking, or blending with the appropriate blend factors. The disadvantage is that you completely re-render the scene multiple times.

That's what I show in the link I posted on page 1 of this thread.

Here's a 3MB WM9 video of it in action in case anyone's interested:
http://idisk.mac.com/glwebb-Public/vid/wge_aa_vid_01_wm9.wmv
 
Reverend: while thinking Software AA used in real games, Only game I come up with is Ignition by UDS (Unique Development Studios. Game was released by Virgin Interactive in late 90's.)

Ignition had pretty awesome software renderer suportting real time AA, Perspective Correct texture mapping and mip mapping.

Later on, 3dfx optimized version came, but still the AA in original version was looking good. you might want try contact the developers. company webpages can be found from http://www.uds.se
 
Nappe1 said:
Reverend: while thinking Software AA used in real games, Only game I come up with is Ignition by UDS (Unique Development Studios. Game was released by Virgin Interactive in late 90's.)

What about Outcast? Voxel-rendering + SoftwareAA + Bumpmapping + Self-shadowing(?) + Soft-Shadows
 
Back
Top