偶尔我会到达我想要获得OpenGL帧缓冲对象的地方,但是我对打开任何类型的窗口都不感兴趣.
是否可以创建一个opengl上下文而不将其附加到任何类型的窗口?
是! 您可以使用桌面窗口作为传递给OpenGL的窗口 - 只要您不尝试在其上显示任何内容;)
在创建新的OpenGL窗口时,只需调用GetDesktopWindow并将结果作为参数传递.
http://www.opengl.org/wiki/Creating_an_OpenGL_Context
根据这个Web页面, WGL_ARB_create_context
可以用来创建一个没有窗口的上下文.我自己没有尝试过.我使用freeGLUT创建上下文,然后在屏幕外渲染到帧缓冲区+渲染缓冲区.我没有调用glutMainLoop就退出程序.它是klugy,但它适用于我的目的.