OpenGL:如何控制我的窗口将使用哪种缓冲方法?

时间:2011-01-28 11:13:28

标签: c++ windows visual-studio-2008 opengl

我想让用户有能力选择双缓冲和三重缓冲,因为在某些卡(或OS?)上默认启用三重缓冲,这会导致一些性能问题。

我该怎么做?

2 个答案:

答案 0 :(得分:4)

您无法从OpenGL本身执行此操作,因为OpenGL仅处理绘图调用等。您需要使用特定于供应商的调用。在Windows中,有用于处理上下文创建的WGL等。

答案 1 :(得分:1)

OpenGL中没有这样的功能。

我发现的最接近的是glutInitDisplayMode,您可以通过GLUT_DOUBLEGLUT_SINGLE启用或禁用双缓冲。其他窗口管理器,例如SDL,还有其他调用:

SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);