我正在第三方程序中使用C ++开发插件,需要使用OpenGL显示一个窗口。我想直接在Win32中编程(即不使用MFC或其他包装器)。
我下载了NeHes Win32 tutorial并在我的机器上成功编译并运行它。
然而,如果有任何消息,这是一个循环并调用PeekMessage然后调用TranslateMessage和DispatchMessage的主程序,如果没有则重绘OpenGL。
我想“生成”Win32 OpenGL窗口,然后将控制权返回给第三方程序:
void DisplayOpenGLWindow_ButtonPressed() {
CreateWindowEx(...);
InitOpenGL(...);
return;
}
但是如何让新窗口重绘OpenGL场景呢? 我试图在回调函数中添加一个重绘OpenGL的调用:
case WM_PAINT:
{
DrawGLScene();
return 0;
}
但这不起作用; 即使清晰的颜色是黑色,窗口都是白色的。调整窗口大小和移动窗口无济于事。
答案 0 :(得分:0)
答案非常大,所以我指导你去一些教程:)
链接:
Nehe主要使用Win32 api,所以要查找MFC教程/文章。
另一件事:尝试使用现代opengl版本3及以上版本。