問題タブ [qtopengl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1337 参照

qt - ラズベリーパイのQt OpenGlコンテキスト

Qt5 opengl コンテキストでプログラムを書いています。デスクトップ (fedora 23) でうまく動作します。しかし、私はそれをpi 2で実行する必要があります。そのため、Qt5のソースコードをどこからでもダウンロードし、piでネイティブにコンパイルしました。pi でプログラムをコンパイルして実行しようとすると、次のエラーがスローされます。

Qtフォーラムでは、Raspberry piでXCBがeglと統合できないことがわかりました。また、Qt ソース コードを構成していたとき、x オプションの EGL は no でした。しかし、GLX は有効になっていました。piでGLXを使用するようにQXcbIntegrationを設定する方法はありますか?

XCB と egl の統合を修正しようとしていました。そこで、qtbase の config.tests/qpa ディレクトリで egl-x11 テストを再コンパイルして、エラーを確認しようとしました。出力は次のとおりです。

XCB と EGL の統合を修正する方法はありますか?

ラズベリー pi で EGL も GLX 統合もできない場合、pi でアプリケーションを実行するにはどうすればよいですか?

0 投票する
0 に答える
498 参照

c++ - ウィンドウを最大化するとQt QApplicationのフレームレートが低下する

ビジュアライゼーション エンジン ビューアに Qt を使用していますが、そのQApplication::processEvents()方法に問題があります。フレームレートを (ゲーム ループのように) 制御する必要があったため、QApplication をオーバーライドして、独自のゲーム ループと次のようなゲーム ループを定義しました。

これは正常に動作し、呼び出しのタイミングは約 0.001 秒ですがprocessEvents()、空のシーンの場合doFrame()は約 0.0001 秒かかります。ここで、(ウィンドウを最大化するために) タイトル バーをダブルクリックすると問題が発生します。実際、それを行った後、processEvents()call は約 0.001 秒から約 0.01 秒 (*10) になります。ほとんどの時間は取り込まれているようですQPlatformBackingStore::composeAndFlush()

使用されるビューアーは QOpenGLWidget に基づいており、すべてのレンダリングは Qt の外部で行われます (Qt FBO で記述しています)。

をオーバーライドしていないことに注意してくださいQApplication::processEvents()

ありがとう

0 投票する
1 に答える
80 参照

linux - マウスイベントを傍受してもQtウィンドウが動く

3DシーンでオブジェクトをクリックしてドラッグできるQt OpenGL(qt 5.5を使用)アプリケーションがあります。

これは、とQOpenGLWidgetをオーバーライド するサブクラスを持つことで実装されます。mousePressEventmouseReleaseEventmouseMoveEvent

ただし、オブジェクトをドラッグすると、ウィンドウがウィンドウ移動モードをアクティブにし始める前にオブジェクトを 1 フレーム移動でき、タイトル バーをドラッグしているかのように、マウスの動きが実際にウィンドウ全体を移動し始めます。

アプリケーションとウィンドウ マネージャー (kwin 5.4.3) の間に競合があると思われますが、この問題をデバッグするためにどこを見ればよいのか、それがアプリケーションの問題なのか、それともウィンドウ マネージャーを修正する必要があるのか​​がわかりません。

0 投票する
2 に答える
1084 参照

opengl - OSG レンダー シーンをイメージに

Qt プログラムで OSG シーンをイメージにレンダリングしようとしています。SnapImageDrawCallback の例を参照してください ( https://www.mail-archive.com/osg-users@lists.openscenegraph.org/msg45360.html )。

これを osg::Viewer のカメラの FinalDrawCallback として設定しましたが、空白の画像で失敗し、「警告: State::apply() の開始時に OpenGL エラー '無効な操作' が検出されました」という警告が表示されます。 readPixels、QQuickFramebufferObject に埋め込まれた My osgViewer::Viewer。誰でもいくつかの提案をすることができますか?

0 投票する
0 に答える
172 参照

qt5 - QOpenGLFramebufferObject の画像が更新されない

以下は、QOpenGLWidget をサブクラス化する私のウィジェットのコードです。何が起こっているべきかというと、framebuffer オブジェクトが各フレーム間で白と黒の間で点滅しますが、表示されるのは白だけです。これは、一度レンダリングされてから更新されないことを示しています。

ここでフレームバッファ オブジェクトを正しく使用していますか? また、画面外に何かを描画して QOpenGLWidget に表示するより適切な方法はありますか?

0 投票する
1 に答える
103 参照

c++ - フレームバッファオブジェクトのオフスクリーンデータを QGLWidget に描画する方法は?

glGenFramebuffer、glBindFramebuffer、およびその他の関連関数を使用して Framebuffer オブジェクト (FBO) を作成し、FBO を使用してオフスクリーン データを描画します。ここで私の質問は、QGLWidget 内で前述の手順を完了し、FBO のデータを QGLWidget に戻すにはどうすればよいですか? どうもありがとうございました!

0 投票する
1 に答える
235 参照

c++ - Qt QOpenGLFunction_4_5_Compatibility と QOpenGLExtraFunctions の比較

現在、GLWidget で QOpenGLFunction_4_5_Compability を使用しています。QOpenGLFunctions には glLoadIdentity、glOrtho、glGenBuffers、glBindBuffer などが含まれていないためです。

QOpenGLFunction_4_5_Compability の代わりに QOpenGLFunctions を使用している人がいるのはなぜですか? QOpenGLFunctions を特別なものにしているものは何ですか?

どちらを使用する必要がありますか?