2012-12-15 96 views
3

我有幾個關於Qt的問題。用於遊戲開發的Qt和OpenGL

  1. 我已經知道Qt和OpenGL可以一起使用。在 時刻,我們在我的大學使用GLUT(對於窗口和輸入 管理)。我看到Qt能夠做同樣的事情。 有沒有 使用Qt代替GLUT的缺點?(性能 明智)

  2. 我也知道,Qt可以用來構建一個遊戲中的GUI。我甚至看到了這個3d GUI例子 WolfenQt。所以這是可能的。 但是,如果你關心 perfomance,那麼它是否適合使用Qt作爲遊戲內的GUI?

+3

是否還有64位版本的谷歌for windows?我相信它不再處於開發階段,也不是開源的。 QT是一個很好的跨平臺工具包,目前仍在開發中。沒有比較的理由。學校仍然使用過剩,因爲它是一個用於教授3D編程的流行庫,並不是因爲它提供了最佳性能。除了大部分的性能將來自於opengl而不是一個部件庫。 – Codeguy007

+0

@ Codeguy007:有FreeGLUT,它是開源的,維護良好。是的,有Win64的構建。不過,我不會爲遊戲推薦GLUT。更好地使用SDL或GLFW。 – datenwolf

回答

2

像任何其他工具一樣,Qt可能會被濫用。但僅僅因爲你使用Qt這並不意味着,OpenGL的性能會受到影響。 OpenGL不關心它的上下文以及它的綁定的創建方式。 Qt最大的影響是,它如何管理和交付事件;信號/插槽機制。

+0

爲什麼你會選擇GLFW而不是QT遊戲?因爲QT使用事件和GLFW c回調? –

+0

@MaikKlein:GLFW不使用回調,就像SDL一樣(我認爲你的意思是GLUT,這是一個不同的框架)。它將整個事件循環放在你的手中。這正是你想要的遊戲! Qt傳遞在主循環隊列中收集的信號,然後將它們分派到它們連接的插槽。這使得延遲有點不可預測。在大多數情況下,您不會注意到,但有時候......重點是,使用GLFW和SDL您可以精確控制事件管理,操作順序和時間安排。有了Qt,你不需要。 – datenwolf

+0

@datenwolf:事件和信號/插槽通常不相關。幾乎所有的信號/插槽基本上都是調用方法,根本不會經過事件循環。只有在多線程設置中才會涉及事件循環。所以你的陳述會崩潰,「不要做太多的事情或者你的延遲會受到影響」,任何框架都是如此。 –