如何在一个没有主要功能的项目中使用OpenGL(例如MFC / Qt),而不使用GLUT

How to use OpenGL in a project that has no main function (e.g. MFC / Qt), and without using GLUT?

本文关键字:例如 OpenGL GLUT MFC Qt 一个 功能 项目      更新时间:2023-10-16

我主要遵循红皮书第7版学习基于glut的OpenGL。其他参考资料,如蓝色的OpenGL圣经和在线教程也是基于glut。它们都需要把代码放在main函数中。我想知道如何在一个没有主要功能的项目中使用OpenGL,如MFC或Qt项目,而不使用过剩?

基本答案是,比起运行自己的游戏循环(负责更新和监视事件侦听器),GLUT让您的生活变得更加轻松。几年前,我用OpenGL写了一个游戏,避免了GLUT -见这里。

使用DirectInput来处理键盘事件让我很头疼,但是我确实对所有事情有了更多的控制。

最后需要说明的是,《GLUT》是一款非常老的游戏,并且缺少一些能够让你干净利落地退出游戏循环的重要功能。如果你真的想专注于学习OpenGL,而不需要我刚才描述的所有其他令人担忧的东西,那么FreeGLUT是最好的。

关于Qt的细节,这可能会帮助你。