如何设置Windows提供的默认帧缓冲区中的样本数量?
我找到了this页面,但是虽然我使用了glew,但在我的上下文中没有可用的wglChoosePixelFormatARB
函数。可能是什么原因造成的?
答案 0 :(得分:2)
使用WGL,您只能在创建上下文时设置窗口的像素格式,并且只能在加载客户端驱动程序后调用wglChoosePixelFormatARB()
函数,并且客户端驱动程序仅加载一次你有一个OpenGL上下文。是的,这是循环的。所以,这意味着您必须执行以下操作:
使用OpenGL上下文创建一个窗口。
获取wglChoosePixelFormatARB()
。
销毁窗口,并使用所需的像素格式创建一个新窗口。
如果您对此有任何意义,那么您将使用SDL或GLFW为您执行此操作,因为它只是您必须编写的一堆管道,学习如何操作并没有任何价值,而您可能想要完成一些真正的工作。 SDL / GLFW /等。是99%的OpenGL游戏是如何开发的。
如果您真的想自己动手并陷入困境,请查看SDL或GLFW源代码以了解他们是如何做到的。
在SDL中,src/video/windows/SDL_windowsopengl.c
文件的函数WIN_GL_ChoosePixelFormatARB()
可以满足您的需求。另请注意函数WIN_GL_LoadLibrary()
。
在GLFW中,src/win32_window.c
文件的函数_glfwPlatformCreateWindow()
可以满足您的需求。
P.S。 GLEW在核心环境和现代卡片方面有点突破,所以要小心。还有其他GL装载机。