gpt4 book ai didi

c++ - 更改 GLUT 调用以使用 MFC/C++

转载 作者:太空狗 更新时间:2023-10-29 22:52:57 25 4
gpt4 key购买 nike

我有一个使用 GLUT 进行 OpenGL 渲染的程序。现在我需要它在 MFC 项目中,以便它可以与另一个程序组件一起工作。

我已遵循本教程:http://www.codeguru.com/cpp/g-m/opengl/openfaq/article.php/c10975__1/Setting-Up-OpenGL-in-an-MFC-Control.htm

当计时器触发时,我正在调用作为 GLUT 显示回调的函数,但这不起作用,因为渲染取决于 GLUT 空闲回调中发生的事情。我不明白我应该在我的 MFC 程序中的什么地方调用 GLUT 空闲回调。我应该为它创建一个单独的事件处理程序吗?如果是,是哪个事件?还是我在做其他完全错误的事情?我对 OpenGL 相当熟悉,但这是我第一次使用 MFC,所以我可能在这方面犯了错误。

非常感谢您的宝贵时间;我真的很感激!

最佳答案

我刚刚浏览了您链接到的教程;在第二页上,可以找到以下几行内容(我稍微清理了代码):

void COpenGLControl::OnTimer(UINT nIDEvent)
{
if(nIDEvent==1)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
oglDrawScene();
// try to insert your idle function code here
SwapBuffers(hdc);
}
CWnd::OnTimer(nIDEvent);
}

所以,基本上这是教程建议的 glutIdleFunc 的替代品。我只是尝试在调用 SwapBuffers 之前插入在空闲函数中调用的代码。

希望对您有所帮助。

关于c++ - 更改 GLUT 调用以使用 MFC/C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3344583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com