Multisampling

My video card (Ge Force 2 MX 400 ) doesn’t support OpenGL ARB_Multisampling extension, so I can’t make my application to enable multisampling. But I can enable fullscreen antialiasing in driver settings. How can I turn it on from my program when driver setting is “controlled by application”?

The FSAA option in the driver settings is super sampling. IIRC, there is no API call to enable that.

You pretty much need WGL_ARB_multisample (which in turns needs WGL_ARB_extensions_string and WGL_ARB_pixel_format) to do this. You will need to use WGL_ARB_extensions_string to check for the existance of WGL_ARB_multisample.

So, if I can’t turn supersampling, why I can use multisampling in directx and cannot use it in openGl on the same video card?

The GeForce 2 family does NOT support multisampling. All it has is supersampling. Remember GeForce 2 GTS was introduced in 2000. It was the very begining of full scene anti-aliasing (FSAA), and it was implemented by supersampling on NVIDIA chips (see this blurb @ tomshardware ). GeForce 2 MX 400 was introduced roughly 1 year later for the lower-end market.

And there is no way to enable/disable that in OpenGL (API-wise). You have to use the display settings.

Of course this is OS-specific. I have no problem programatically enabling FSAA on GF2MX under Mac OS X. I just ask for a sample buffer with 2 or 4 samples when creating the pixel format; it gives me supersampling.

I stand corrected. With the promotion of ARB_multisample to the core in version 1.3, it is possible to use that even if it is not advertised in the extension string (provided that your driver implements version 1.3 or later of course).

That kind of breaks the rule of thumb that if it’s not in the ext string, it’s not HW-supported; that must be the reason why it is only a rule of thumb :rolleyes:
It pretty much looks like a hack to me (from an API standpoint), which is somewhat confirmed by the wording of the spec :

appendix F : Version 1.3, paragraph F.3 Multisample
Multisampling was promoted from the GL_ARB_multisample extension; The definition of the extension was changed slightly to support both multisampling and supersampling implementations.
Here the word multisampling is used to name the feature and an implementation of it.

The specification allows implentations to expose multisample with 1 sample. So, it’s possible to support eg OpenGL1.5 while not really providing multisample support.