問題タブ [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.
c++ - ユーザー入力のみに均一変数を設定する方法は?
RenderWidget
から継承したクラスがQOpenGLWidget
あり、特に次の 2 つのメソッドがあります。
paintGL
は毎秒 100 回呼び出されsetSmthEnabled
ますが、ユーザーが UI のチェックボックスを切り替えたときにのみ呼び出されますが、これはときどき発生します。uniformUserInput
ユニフォームはフレームごとに設定する必要がないので、ユーザー入力スロットだけに設定しようとしましたが、うまくいきません。ユニフォームは、初期化時に設定された値を保持します。
これは、レンダリングが非同期であり、パイプラインがビジー状態である間はユニフォームを更新できないために発生すると推測されます。そのため、スロットglFinish()
にセットする前にコールしようとしましたが、役に立ちませんでした。私が見つけた唯一の解決策は、次の方法でクラスを書き直すことです。uniformUserInput
setSmthEnabled
実際のコードには、より多くのユーザー入力ユニフォームが含まれているため、フレームごとにそれらすべてを更新して、その目的のために冗長なメンバー変数を保持したくはありません。ユーザー入力のみでユニフォームを更新するにはどうすればよいですか?
shader.setUniformValue
上記のコアではQOpenGLShaderProgram::setUniformValue
、関連するQOpenGLShaderProgram
オブジェクトのみを呼び出して返します。
c++ - QOpenGLTexture でアルファ付きテクスチャを作成するには?
と でテクスチャを生成しようとしていQImage
ますQOpenGLTexture
。QImage
カラーフォーマットを にRGBA8888
、カラーを に設定しましたsetPixel
が、アルファ値をいくら変更しても 255 のままで、画像の透明度は変わらないようです。
これが私のコードです:
助言がありますか?
c++ - Qt モジュール エラー - QtOpenGL の LNK 1112
Microsoft Visual Studio 2010 で Qt ライブラリに接続されたプロジェクト (x64) をビルドしようとしています。コンパイルしたいプロジェクトは、Visual Studio 2008 を使用してビルドされました。
すべての依存関係を追加し、ダウンロードして Qt ライブラリ 64 ビットをコンパイルし、VS 2010 のプロジェクト プロパティですべての適切な変更を行いました。ただし、以下のエラーが発生します。
.dll ファイルと .lib ファイルを確認しましたが、これらは x64 ビット バージョンです。また、私の QtOpenGL4.dll ファイルは、エラーで言及されたものとは別のパスにあります。
QtOpenGL4 モジュールからのエラーでしょうか? どうすればこれを解決できますか?手伝っていただけませんか?
Qt の 64 ビット バージョンをビルドするために従った手順は、次のリンクにあります: https://en.wikibooks.org/wiki/Opticks_Developer_Guide/Getting_Started/Building_Qt_From_Source