如何获得 GPU 多重采样模式描述?

Kro*_*ica 5 opengl antialiasing

我正在我的 OpenGL 游戏中实现 AA,我正在使用它wglChoosePixelFormatARB来选择合适的渲染上下文。但是,选择正确的模式存在问题。

您可能知道 GPU 可以以各种组合(MSAA、SSAA、CSAA 等)使用各种 AA 策略。例如,如果我请求WGL_SAMPLES_ARB = 8我获得非常好的抗锯齿,但是当我调用时它只会部分禁用glDisable(GL_MULTISAMPLE),而当我请求时WGL_SAMPLES_ARB = 7,它可以很好地禁用。

这是我找到的报价:

最初只有多样本抗锯齿 (MSAA)。SAMPLES 指定为每个像素分配给该系统帧缓冲区的 MSAA 样本数。干净,简单。

然后 GPU 供应商增加了对超级采样抗锯齿 (SSAA)、覆盖采样抗锯齿 (CSAA) 以及三者组合的支持。例如,以下是最新 OpenGL 3.3 驱动程序上的 NVidia GTX285 上可用的模式:


AA 模式/说明

  • 0 - 关闭
  • 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)

所以,我正在寻找一种方法来获得 AA 模式描述,它结合了哪种 AA。我怎么做?

jal*_*alf 2

据我所知,除了您通过交叉检查相关供应商的相关文档所写的内容之外,没有任何描述

不幸的是,OpenGL 或 Direct3D 都没有提供任何有关 AA 模式实际含义的文档。