2012-03-20 73 views

回答

5

您不需要使用大多數QT特定的OpenGL類。你需要QGLWidget上下文本身,告訴QT什麼時候重新繪製小部件(這可能只是一個計時器,它會在每秒60次的QTGLWidget上調用updateGL())和事件處理。只需創建一個從QGLWiget繼承的類,並將C類型的OpenGL代碼放入paintGL()函數中即可。

如果你想要一些示例代碼: https://github.com/dcbishop/g3test 在SRC /應用程序檢查/ QT *

+0

謝謝。你的代碼似乎很方便。我想我在圍繞OpenGL上下文的初始化方面還有點麻煩。我相信我很快就會有更多的理解。 – circlingthesun 2012-03-21 13:14:18

+0

任何想法爲什麼我在編譯代碼時遇到這樣的錯誤:CMakeFiles/g3test-qt.dir/src/Renderable/DemoScene.cpp.o:在函數'Program :: getUniformBlockIndex(char const *)const'中: /home/rickert/Workspace/g3test/src/Renderable /../ OpenGL/Program.hpp:94:對'glGetUniformBlockIndex'的未定義引用 – circlingthesun 2012-03-21 13:15:36

1

的QopenGL插件讓你的背景,你再簡單地覆蓋initialiseGL,paintGL方法,你可以使用原始OpenGL調用直。

周圍PBO和維也納組織Qt的包裝便於保存拼盡全力在Windows手動加載DLL,但不是真的有必要

相關問題