2

Mac OS 10.8 で Qt 4.8.4 を使用しています。

私はすでにCGLContextObj(自分の管理外で作成された)を持っています。

既存のものから を作成したいQGLWidget(または少なくとも共有したい) CGLContextObj— で作成されたテクスチャをレンダリングできるようにしますCGLContextObj

QGLContext既存の からを作成するにはどうすればよいCGLContextObjですか?


すでに試した

  • が見つかりましQGLContext::fromPlatformGLContext()たが、このメソッドは Qt が QPA モードでビルドされている場合にのみ使用できるようです (...しかし、ビルドに失敗し、フラグが./configure -qpa cocoa正確に何をするかについてのドキュメントを見つけることができませんでした)。-qpa
4

1 に答える 1

4

QPA (Qt Platform Abstraction)は、Qt 4 ではまだ進行中の作業でした。Qt 5 に完全に統合されています。Qt 5 にアップグレードするオプションがある場合は、作業がより簡単になる可能性があります。

QCocoaGLContextQt 5 では、 (の派生クラスQPlatformOpenGLContext)を構築し、そこからQOpenGLContext( QPlatformOpenGLContext::context()) を取得し、そこからQGLContext( ) を取得できQGLContext::fromOpenGLContext(QOpenGLContext *)ます。それはあなたをかなり近づけますが、どうやって a から a に行きますCGLContextObjQCocoaGLContext?

残念ながら、 aQCocoaGLContextから aを構築するオプションはありませんCGLContextObj。既存のコンストラクター内で初期化されるNSOpenGLContextプライベート データ メンバーがあるため、別のコンストラクターを追加することもできます。

于 2013-05-18T23:53:38.083 に答える