Software Anti-Aliasing

Reverend

Banned
Can anyone provide some resources/links about this? Attempting to do a short/beta article about this using Doom3.

Thanks.
 
Often, software algorithms can lead to actual hardware implementation (provided the legalities are taken care of).

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 just want to know as much as I can about sw aa (my google skills aren't particularly good) before I write this proposed beta article of mine.
 
THe last products i can recall that use software fsaa were the geforce 2 and under cards . I also think the neon 250 uses software fsaa. Other than that i can't help
 
3DS Max uses software AA, so I looked in the render options and saw a list of filters that it uses. Their names are:

Blackman
Catmull-Rom
Cook variable
Cubic
Quadratic
Mitchell-Netravali

Sorry I can't help anymore, but this might help your googling, just search for AA filters along with those names and maybe you'll get lucky. Its all evil maths, probably comes from the stats field, *shudders*.
 
jvd said:
THe last products i can recall that use software fsaa were the geforce 2 and under cards . I also think the neon 250 uses software fsaa. Other than that i can't help
It's done in hardware, so it's hardware AA.
 
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.

it's just supersampling.

You can do that if you're not real time limited. No big deal
 
LeGreg said:
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.

it's just supersampling.

You can do that if you're not real time limited. No big deal
Doesn't photoshop have an AA filter too? :|
 
I don't like this terminology. (supersampling = software?)

I don't really think the term "software" FSAA applies. If I take an 800x600 frame, render it at 1600x1200, and then the hardware does the downsample, it's HW AA. Software AA would be using the CPU to do a framebuffer readback and downsampling on the CPU. GF2 was hardware AA. Rendering a 1600x1200 multisample buffer is no more "HW" AA than rendering a 1600x1200 supersample buffer.

The biggest difference in GF3+ generations (and R300+) is that efficiency has gone up because of framebuffer compression and Z-compression or downsampling-on-the-fly on scanout.

A more correct term would be to say that the GF3+ and R300+ were engineered to make HW AA more efficient. Or that the R300+ and NV4x were engineered to improve HW AA quality (sampling positions). But I don't think you can characterize the GF2 as a pure software solution. Supersampling just happens to be a form of HW AA that every card with enough fillrate and memory can support.
 
Supersampling just happens to be a form of HW AA that every card with enough fillrate and memory can support.

To explain that further... the way cards like GeForce2 do AA is like this:
Render to a texture that is twice the width of the screen and twice the height (for 4x AA that is, 2x AA would only take width).
Now render a fullscreen quad to the backbuffer with this texture, where you set the texture coordinates in such a way that for each pixel you sample exactly in the middle of a 2x2 block of texels.
This means that the bilinear filter will effectively take the average of these 4 texels, which is regular supersampling.

So there is no special hardware required, it is all in the display driver (perhaps that's what the 'software' indicates here?).
I suppose you could expand this idea by using a custom shader rather than the bilinear filter, and doing more complex filter functions.
 
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 just want to know as much as I can about sw aa (my google skills aren't particularly good) before I write this proposed beta article of mine.

So Doom3's own AA is a no-go? I've been running with it so far and I can't really complain.
 
Reverend, it might help if you clarify exactly what you are looking for. I know that I'm a little confused and judging from the posts most other people are too, because software AA can mean a lot of things.

Since software AA has been pretty much abandoned in the realtime field of games I can only assume that you are talking about techniques used in offline renderers such as PRMan/MentalRay etc...? In that case your best bet would probably be Siggraph papers on the topic and possibly the homepages of the various industry standard renderers (although those are likely to be very light on the details). :(
 
Leto said:
So Doom3's own AA is a no-go? I've been running with it so far and I can't really complain.

that isn't "doom3's own aa", it is doom3 calling for your videocard's aa. as mentioned above, "doom3's own aa" is simply suppersampled screenshots.
 
kyleb said:
Leto said:
So Doom3's own AA is a no-go? I've been running with it so far and I can't really complain.

that isn't "doom3's own aa", it is doom3 calling for your videocard's aa. as mentioned above, "doom3's own aa" is simply suppersampled screenshots.
You sure about that, i.e. "doom3's own aa" is simply supersampled screenshots? I assume the understanding is there wrt supersampling.
 
well i'd have to see the code to be sure; but, the most likely explanation is that they use simple supersampleing opposed to developing some cpu driven multisampleing method, and the screenshots look supersampled to me.
 
kyleb said:
well i'd have to see the code to be sure; but, the most likely explanation is that they use simple supersampleing opposed to developing some cpu driven multisampleing method, and the screenshots look supersampled to me.
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)?
 
Back
Top