Real time Antialiasing

Hi.

I’m working on an interactive 3D player, and I want to make full scene antialiasing while objects moves in the scene.
Actually , I have full scene antialiasing only while all objects in the scene are static. If the user rotate (for example) the object with the mouse, I must disable the antialias since it’s too slow.
For full scene antialiasing I’m useing the accumulation buffer, with 8 passes per frame.

my question is:
what is the fast way to render antialiasing in real time although it’s not a pefect antialias, but it’s have to be fast.


Thanx.

> what is the fast way to render
> antialiasing in real time although it’s
> not a pefect antialias, but it’s have to
> be fast.

Accumulation buffer is not accellerated on
any consumer-level cards.

I can think of two ways:

  1. turn on FSAA by using some OpenGL
    extension, or telling the user to enable it
    in the control panel for his card (GeForce
    and Radeon support this, at a minimum)

  2. render into a (big) texture by either
    using the buffer region extension, or using
    a large back buffer and reading the data
    back. Then use this to texture one quad
    that’s only quarter the size of the previous
    render target (this does 2x2 AA, assuming
    you have fast mipmapping).

Neither way is wonderful, though I see much
more promise in 1) than in 2).

Originally posted by bgl:

2) render into a (big) texture by either
using the buffer region extension, […]

I don’t see how you could use the buffer region extension for that purpose.
You cannot render to a buffer region if that is what you mean. You need to render to the back buffer first then save the buffer region (any rectangle in the back buffer) and you can restore it later at any position in the buffer.

Originally posted by bgl:
[b]

  1. turn on FSAA by using some OpenGL
    extension, or telling the user to enable it
    in the control panel for his card (GeForce
    and Radeon support this, at a minimum)
    [/b]

Is there such an such extension supported by either the Radeon or the Geforce? Or is hardware accelerated FSAA only available through a driver setting on these two cards?

Wait for GeForce 3, since it is 4X faster in AA than the Geforce 2 Ultra.

Yes, but that’s with their special hardware version of it, not using the Accumulation Buffer.

The real problem here is how to enable/disable FSAA from a program.

As far as I know, that can’t be done through OpenGL.

j

We will support the ARB_multisample extension on GeForce3. This extension allows apps to programmatically select a pixel format with or without multisample.

Accumulation buffer antialiasing is slow, there’s no question about that. Instead, it is far better to take advantage of HW antialiasing capabilities.

  • Matt