我正在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模式。我可以吗?
答案 0 :(得分:2)
据我所知,通过交叉检查相关供应商的相关文档, 没有描述,除了你所写的内容。
不幸的是,OpenGL或Direct3D都没有提供任何类型的AA模式意味着什么的文档。