gpt4 book ai didi

c++ - 如何使用 OpenGL Canvas 在另一个程序中创建子窗口?

转载 作者:太空宇宙 更新时间:2023-11-04 14:02:03 25 4
gpt4 key购买 nike

我正在第 3 方程序中用 C++ 开发一个插件,需要使用 OpenGL 显示一个窗口。我想直接在 Win32 中编程(即不使用 MFC 或其他包装器)。

我下载了NeHes Win32 tutorial并在我的机器上成功编译并运行它。

然而,这是一个循环调用 PeekMessage 的主程序,如果有任何消息,则调用 TranslateMessage 和 DispatchMessage,如果没有,则重绘 OpenGL。

我想“生成”一个 Win32 OpenGL 窗口,然后将控制权返回给第 3 方程序:

void DisplayOpenGLWindow_ButtonPressed() {
CreateWindowEx(...);
InitOpenGL(...);
return;
}

但是如何让新窗口重新绘制 OpenGL 场景呢?我试图在回调函数中添加一个重绘 OpenGL 的调用:

case WM_PAINT:
{
DrawGLScene();
return 0;
}

但这行不通;即使清晰的颜色是黑色,窗口也是全白的。调整窗口大小和移动窗口无济于事。

最佳答案

答案会很大,所以我会指导您阅读一些教程:)

链接:

Nehe 主要使用 Win32 api,所以寻找 MFC 教程/文章代替。

另一件事:尝试关注现代 opengl 版本 3 及更高版本。

关于c++ - 如何使用 OpenGL Canvas 在另一个程序中创建子窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18917711/

25 4 0
文章推荐: html - 可调整大小的导航栏和按钮 'a la' Forbes
文章推荐: html - 如何修复太长而无法滚动且未显示菜单上所有元素的移动菜单
文章推荐: javascript - 如何折叠/展开本网站上的 DIV
文章推荐: jquery - 获取每个类值并将其附加到