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?
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.
精彩评论