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

时间:2011-05-25 19:31:17

标签: opengl antialiasing

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

您可能知道GPU可以使用各种组合的各种AA策略(MSAA,SSAA,CSAA等)。例如。如果我请求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模式。我可以吗?

1 个答案:

答案 0 :(得分:2)

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

不幸的是,OpenGL或Direct3D都没有提供任何类型的AA模式意味着什么的文档。