1

Qt for Embedded Linux用のQScreenドライバーを作成して、フレームバッファーを介してOpenGL機能を統合できるようにしようとしています。今のところ、両方のQWSウィンドウとEGLサーフェスが、ドライバーとともに画面に表示されています。私はメソッドexposeRegion、blit、solidFillのデフォルトの実装を使用しています。残念ながら、QWSウィンドウをEGLサーフェス上に配置しようとすると、EGLサーフェスが常にQWSウィンドウ上にあることに気付きました。

EGLサーフェスがトップレベルウィンドウでない場合に、QWSウィンドウがEGLサーフェスを通過できるようにすることは可能ですか?これどうやってするの?

OpenGLが画面に直接描画することは知っていますが、更新手順を中断すると、QScreenドライバーがその上にウィンドウを描画できるはずだったと思いますが、これは発生していないようです。

ありがとう!

4

1 に答える 1

2

他の誰かが興味を持っている場合に備えて、これを行うことが可能です。他のいくつかの機能をオーバーライドする必要があるという理由だけで、私はできませんでした。私の場合、これはありませんでした:

bool CompositeGLScreen::chooseContext(QGLContext *context, const QGLContext *shareContext)
{
    Q_UNUSED(context);
    Q_UNUSED(shareContext);
    return false;
}

PowerVRのQtによるリファレンス実装は、このように行います。

于 2011-05-14T09:54:31.430 に答える