Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get GPU multisampling modes descriptions?

I'm implementing AA in my OpenGL game and I'm using wglChoosePixelFormatARB to select suitable rendering context. There's a problem with selecting the right mode though.

As you may know GPUs can use various AA strategies in various combinations (MSAA, SSAA, CSAA, etc). E.g. if I request WGL_SAMPLES_ARB = 8 I get very nice anti-aliasing, but it does disables only partially when I call glDisable(GL_MULTISAMPLE), while when I request WGL_SAMPLES_ARB = 7, it can be disabled well.

Here's quote that I've found:

Originally there was only multisample antialiasing (MSAA). SAMPLES was designated for the number of MSAA samples per pixel to allocate for that system framebuffer. Clean, simple.

Then the GPU vendors added support for supersample antialiasing (SSAA), coverage sample antialiasing (CSAA), and combinations of the three. For instance, here are the modes available on an NVidia GTX285 on the latest OpenGL 3.3 drivers:


AA Mode / Description

  • 0 - Off
  • 1 - 2x (2xMS)
  • 5 - 4x (4xMS)
  • 7 - 8x (4xMS, 4xCS)
  • 8 - 16x (4xMS, 12xCS)
  • 9 - 8x (4xSS, 2xMS)
  • 10 - 8x (8xMS)
  • 12 - 16x (8xMS, 8xCS)

So, I'm looking for a way to get AA mode description, which kinds of AA it combines. Ho do I do it?

like image 489
Kromster Avatar asked Nov 04 '22 21:11

Kromster


1 Answers

To the best of my knowledge, there is no description, other than what you write, by cross-checking the relevant documentation from the relevant vendor.

Neither OpenGL or Direct3D provide any kind of documentation of what the AA mode actually means, unfortunately.

like image 59
jalf Avatar answered Nov 11 '22 05:11

jalf