2011-11-24 51 views
1

我有兴趣用在Windows 7上使用OpenGL实验我担心的是,由于Qt是更专为那些可能有复杂的GUI应用程序和其他的东西并不OpenGL的与游戏完全相关,它不适合高性能的3D图形。使用Qt只制作一个窗口,快速呈现内的

我的目的是使用Qt只为创建一个窗口,比我只会用OpenGL调用创建我的图形。使用这种方法,使用Qt创建的窗口的Opengl程序是否与使用win32 API创建的窗口具有非常相似的性能?我应该只使用SDL吗?我只想要一个好的,简单的,跨平台的方式来创建一个窗口,我可以“把自己的opengl内容”放在里面。我也可能想用它来接收键盘和鼠标事件。

P.S. GLUT看起来有点过时,所以我想用新的东西。

回答

3

与使用Qt制作一个游戏是不是Qt的一般是编写应用程序的主要问题。这根本不会影响OpenGL。这是Qt 不是专为所有其他的事情,你可能需要一个游戏做。输入,声音(不是那种声音的Qt做的),等等。

你的,可用于创建OpenGL的Windows工具的知识似乎相当有限。您应该调查some of the alternatives

FreeGLUT非常适合制作演示应用程序。如果没有其他理由而不是做概念验证应用程序,我会一直建议在你的一套通用工具中使用它。在证明图形效果时,最好先在有限的受控环境中进行,然后将其传输到实际的应用程序中。

GLFW是好的,因为它也有输入(操纵杆等)设施。但是,它像FreeGLUT一样无法获得HWND(或其他类型的平台特定的窗口对象),因此手动将声音工具附加到它们上会更困难。

SDL,SFML,和快板5全部为游戏类型的应用而设计的。他们提供全方位的输入,声音和其他工具。你选择哪一个取决于你,但这些很可能是你最好的选择。

+0

哪一个库,如果有的话,对Opengl 4.2有最好的支持? – contrapsych

+0

@ JAKE6459:他们都没有。 4.2的“支持”并不是这些库必须处理的。他们只是提供一个OpenGL上下文并管理窗口;您可以通过加载正确的函数指针来“支持”4.2。有[加载函数指针的库](http://www.opengl.org/wiki/OpenGL_Loading_Library),其中大多数支持4.2。 –

+0

某些GPU不支持OpenGL 4,值得注意。 (例如,流行的英特尔集成GPU) – cubuspl42