問題タブ [qopenglfunctions]

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 投票する
0 に答える
232 参照

c++ - Qpainterを使用してqtフレームバッファオブジェクトから形状を描く方法

1: 以下のコード スニペットを見つけてください。Qimage を楕円のような作成された形状のシェーダーに渡す場合、シェーダー コードに別の方法を渡す必要があります。提案してください。

2: 以下では、コンストラクターで Qpainter を使用して形状を作成しました。

3:次に、画像をレンダリングするためのopengl呼び出しであるgetImgResultを呼び出します

4: fbo バッファ データを QImage に格納しています

5: この Qimage は、ペイント メソッド内で使用して、drawImage API を使用して形状を描画します。

fboを使用してopengコンテキストからQImageを取得したときの実際の結果である画像を添付しています。1 円を期待していたのに 4 円になりました。どこが間違っているのか理解できません。

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

c++ - Qt5 で glGenBuffersARB のような拡張機能を使用するには?

Qt5でのOpenGLサポートのアーキテクチャを必死に理解しようとしています。

私の現在の問題は次のとおりです。既存の OpenGL コード ( OpenGL ES ではなくデスクトップ) があり、glGenBuffersARB. Qt5 の外部で、このような拡張機能の関数にアクセスするのは簡単です。たとえば、GLEWを使用すると、次のように簡単に実行できます。

すべてが魔法のように期待どおりに機能し、すぐに使い始めることができましglGenBuffersARBた。心配なことがあれば、glewIsSupportedサポートされていることを確認するために電話をかけることができました.

しかし、Qt5 では、GLEW とQOpenGLFunctions一緒にうまく動作しないという警告があります (からコピーqopenglfunctions.h):

したがって、私はこの質問のために、好奇心の溝 GLEW を完全に満たし、純粋な Qt5 アプローチのために Qt5 のみに依存しているとしましょう。glGenBuffersARB に依存する既存の OpenGL コードを、すべての拡張関数を手動でバインドせずに機能させるにはどうすればよいですか?

注:この回答のヒントに従って、これを行うことができることを知っています:

しかし、そうすると、既存の OpenGL コードのすべての行にプレフィックスを付ける必要がfunctions->あります。

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

c++ - 保存されたテクスチャを QuickItem に直接マップして表示する方法は?

私のQt appwithC++では、QQuickItem派生クラスを使用して、各フレーム レンダーでいくつかのフィルターを実行することにより、すべてのフレーム レンダーで生成されるテクスチャを表示しています。これはうまくいきます。

次に、 がtakeTexture提供するメソッドを使用して、QOpenGLFramebufferObjectテクスチャを保存し、必要に応じてそれらを表示しました。これらの保存されたテクスチャはタイプGLuints です。通常の OpenGL レンダリング パイプラインを使用して表示することができます。それはうまくいきます。

しかし、レンダリング パイプラインの呼び出しを回避し、この保存されたテクスチャを GPU メモリに直接マップQQuickItemする方法はありますか?