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。我怎么做?