2011-09-09 40 views
0

我在其中一個ARM平臺上啓用了qt + OpenGl + SimpleGl,並且能夠運行opengl示例程序。 我也有一個qt + Webkit,它正在使用一個圖形插件。Qt + OpenGl + SimpleGl

我想爲每個事物使用simpleGl上下文,而不是使用普通的圖形屏幕。所以,當我嘗試使用simpleGl運行Qt + Webkit時,我只是空白屏幕。

QT支持嗎?如果是的話,我們該如何做到?

+2

什麼是「SimpleGL」? –

+0

SimpleGl是一個egl插件,它提供單個全屏幕表面上下文。 http://qt.gitorious.org/qt-labs/simplegl – hari

回答

1

是的,這是正確的。 OpenGL直接畫到framebuffersimplegl驅動程序不處理使用QWS的光柵畫圖引擎繪製的內容,因此您只能看到黑色。

對於「everything」,使用simplegl意味着您希望在您的EGL全屏窗口中使用OpenGL繪製所有內容?這在一些假設下是可能的。您必須編寫所有要使用Qt OpenGL paint engine呈現的應用程序(使用opengl圖形系統不受Qt/E支持)。這也可能爲QtWebKit,我現在正在做。請注意,這並不意味着所有內容都使用硬件加速呈現。您必須以「正確的方式」編寫應用程序才能使所有實際的硬件加速。考慮到在這種情況下您必須以其他方式處理鼠標指針。

另一種方法是修改simplegl驅動程序以允許使用Qt應用程序使用raster paint engine。這也可能有一些限制。 Qt可以使用blit將自己的窗口放在OpenGL之上。查找Qt源代碼樹內的幀緩衝區驅動程序,以瞭解如何執行此操作。然後,您可以通過某種方式共用Qt應用程序和OpenGLQt應用程序。我也是這樣做的。不是所有事情都可以做到。

編輯:我敢肯定你已經做到了,但萬一,給這http://doc.qt.io/qt-4.8/qt-embeddedlinux-opengl.html很多關注。