如何在WinAPI应用程序中集成OpenGL和GLU?



我对使用WinAPI创建应用程序的任务感兴趣,能够在带有OpenGL图形的窗口中使用它以及WinAPI元素。
例如,窗口的一半被带有图形的窗口占据,第二个是WinAPI的一些元素。

解决此问题的最简单方法是为 OpenGL 区域创建一个子窗口。使用类样式和WS_CLIPSIBLINGS窗口样式创建CS_OWNDC以便有一个单独的设备上下文可用,并且可以将同级窗口(用于按钮等)放置在 Z 堆栈上的其顶部。其余的像往常一样初始化像素格式和 OpenGL 上下文,但在该子窗口上。

  1. ChoosePixelFormat
  2. SetPixelFormat
  3. wglCreateContext
  4. wglMakeCurrent

请注意,如果你想要现代OpenGL,你还需要一个代理OpenGL上下文,以检索基于属性的格式选择函数。它在官方OpenGL维基中有详细的描述。

最新更新