PDA

View Full Version : Multisampling - gl_arb_multisample



Andrew Jameson
07-06-2008, 01:27 PM
Hi,
I can't afford the performance hit associated with enabling antialiasing and wondered if there's a way in which I could effectively antialias one particular object ?

I tried enabling multisampling ... what a convoluted method ... creating and destroying windows ! Still I got it to work ... but I ended up with a very 'flickery' display. One frame looked locked whilst a second frame looked unlocked and introduced flicker. Nevertheless, by bracketing my object with enable/disable GL_ARB_MULTISAMPLE I could discern through the flicker that my object was indeed antialiased - mind you the frame rate looked low !

Any idea how to stop the flicker ? ... I currently terminate my draw routing with SwapBuffers.

Thanks,

Andrew

Dark Photon
07-06-2008, 07:16 PM
antialias one particular object?...I tried enabling multisampling...I ended up with a very 'flickery' display. One frame looked locked whilst a second frame looked unlocked and introduced flicker...the frame rate looked low !

Any idea how to stop the flicker ?

Need more description of this "flicker". Are you talking about flicker along the edges of your triangles, or are you talking about flicker in the interior of triangles? You're talking multisampling (MSAA), so I assume the former.

Have you gamma-corrected your display? What AA mode, card, and OS are you using?

Also, what do you mean "locked"? Are you referring to sync-to-vblank and tearing artifacts? That's a different subject altogether.

Can you post a short test prog?

Zengar
07-07-2008, 12:20 AM
You cannot antialias a particular object. Multisampling is a whole-scene operation. If AA is slow on your computer, this usually means that you own an archaic graphics card and should get a new one.

Andrew Jameson
07-07-2008, 12:29 AM
Thanks ... In trying to create a small test application, I discovered that I was still using the first PixelFormat on the second pass through ... it works now.

I'd not tried ARB multisampling before and NeHe's example 46 inferred that you could bracket what you wanted to be antialiased ... which you can ... but it is whole screen and I suffer the penalty 30 fps down to 9 even for just one object.

I'm currently using a GeForce 6200.

Is there an alternative method ? Maybe blending multipass draws of the object ?

Thanks

Andrew