2011-09-09 7 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

はい、これは正しいです:たぶん私はあなたの質問に幾分関連していると思います。このQtの四半期を見ています。 OpenGLは直接framebufferに引きます。 simpleglドライバは、QWSのラスタペイントエンジンを使用して描画されたものを処理しないため、黒しか表示されません。

simpleglを「すべて」とすると、フルスクリーンウィンドウのEGLOpenGLを使用してすべてを描画することを意味しますか?これはいくつかの仮定の下で可能です。 Qt OpenGL paint engineを使用してレンダリングするすべてのアプリケーションを書き込む必要があります(OpenGLグラフィックシステムはQt/Eの下ではサポートされていません)。これはQtWebKitでも可能ですが、今やっています。これは、すべてがハードウェアアクセラレーションを使用してレンダリングされることを意味するわけではありません。実際にハードウェアをすべて高速化するには、アプリケーションを「適切な方法で」書く必要があります。この場合、マウスポインタを別の方法で処理する必要があると考えてください。

もう1つの方法は、raster paint engineを使用してQtアプリケーションを使用できるように、simpleglドライバを変更することです。これにはいくつかの制限があります。 Qtは、blitを使用してOpenGLに独自のウィンドウを配置できます。これを行う方法を知るには、Qtソースツリー内のフレームバッファードライバーを探します。その後、共通のQtアプリケーションとOpenGLQtアプリケーションを何らかの形で持つことができます。私もこれをやっています。とにかくすべてができるわけではありません。

編集:私はあなたがすでにしていると確信していますが、その場合は、このhttp://doc.qt.io/qt-4.8/qt-embeddedlinux-opengl.htmlを十分に注意してください。