基于Windows内部构件的OpenGL

基于Windows内部构件的OpenGL,windows,opengl,Windows,Opengl,我正在windows上创建OpenGL应用程序。我不能使用GLUT,因为我想渲染多个窗口。我知道如何使用wgl,但它非常混乱,我想知道引擎盖下发生了什么 首先,我必须创建一个具有所需像素格式的窗口。然后我把这个窗口连接到OpenGL,一切都正常。驱动程序如何知道在何处渲染?窗口数据存储在哪里?我在寻找某种解释,但我找不到好的解释 我知道如何使用wgl,但它非常混乱,我想知道引擎盖下发生了什么 WGL是“引擎盖下”的。这是从HWND创建OpenGL上下文的接口。你不允许再得到任何低级的东西 驱动程

我正在windows上创建OpenGL应用程序。我不能使用GLUT,因为我想渲染多个窗口。我知道如何使用wgl,但它非常混乱,我想知道引擎盖下发生了什么

首先,我必须创建一个具有所需像素格式的窗口。然后我把这个窗口连接到OpenGL,一切都正常。驱动程序如何知道在何处渲染?窗口数据存储在哪里?我在寻找某种解释,但我找不到好的解释

我知道如何使用wgl,但它非常混乱,我想知道引擎盖下发生了什么

WGL是“引擎盖下”的。这是从HWND创建OpenGL上下文的接口。你不允许再得到任何低级的东西

驱动程序如何知道在何处渲染?窗口数据存储在哪里

设备上下文HDC是在HWND上进行渲染的方式。请注意,
wglMakeCurrent
采用HDC,它不必是创建上下文的HDC(它必须使用相同的像素格式)。所以“在哪里渲染”来自于这个函数


这些内容都存储在Windows和OpenGL的Windows可安装客户端驱动程序模型的内部。你不允许戳它,修改它,甚至看它。您可以简单地使用它。

“我不能使用GLUT,因为我想渲染多个窗口。”您可以使用FreeGLUT创建多个窗口。有人发布了此内容,然后将其删除。我发现它很有用。