full-scene AA

I am confused about something. I have a GeForce2 GTS, and in the Windows control panel I can enable 2X and 4X antialiasing. Now, I don’t think they use the accumulation buffer jitter technique for this, because it would be too slow. So my next thought was that they were using the WGL_ARB_multisample extension, but then I found that my card doesn’t support this extension. So how on Earth are they doing this AA and how can I access this functionality from within my own programs?

Your card is probably doing some form of supersampling. However, it probably lacks the ability to do the filtering internally, so the driver is probably rendering at a higher resolution and down-sampling.

What do you mean by down-sampling? Just shrinking it via some interpolation algorithm?

Hi,

yep, down-sampling for AA involves some kind of filtering - somewhat like the way mipmaps are generated for a texture.

I backup this request about GeForce 1/2 Antialiasing control via an application.

The driver setting, when AA is not forced or disabled, is set to ‘application’.

It would be kind if NVidia could expose this setting in a way or another ; or at least say if it is impossible fot them to do so.

Here, I have to deal with many GeForce 2 target machines, and I’d really love to be able to control the AA for our apps !

Cheers,
Nicolas.

just create a 4x bigger offscreen buffer, render to it. and instead of calling SwapBuffers, call ShowUpDownsampledSuperSampleBuffer (wich you code, hehe)

something like this should do it… the downsampling can be done in hw by using the buffer as a bilinear filtered texture into a smaller buffer, and again onto the screen (this for 4x aa)…

something like this…

How about if I render into a large pbuffer, and then use that pbuffer as a texture which will be mapped onto a single polygon in orthographic projection mode which covers the opengl window? I think speedwise that would be pretty good, but I don’t know what the quality would be like.

thats what i tried to say above

Originally posted by davepermen:
thats what i tried to say above

I know, I just wanted to get a little more specific.