0

QGLWidget と QGLFramebufferObject を使用して、QT で Render to Texture に取り組んでいます。私の意図は、シェーダーを介してテクスチャに浮動小数点値を書き込むことです。

GL_RGB32F テクスチャを使用していますが、RTT が発生しているようです。ただし、テクスチャに格納されている値は 0 と 1 の間に固定されているようです。

gl_FragData[0] = vec4(120.0, 2.0, 0.8, 1.0); のテスト値 シェーダーでは、テクスチャでは 1.0、1.0、0.8 になります。

glClampColor の呼び出しを示唆する投稿を目にします

glClampColorARB(GL_CLAMP_FRAGMENT_COLOR, GL_FALSE); glClampColorARB(GL_CLAMP_READ_COLOR, GL_FALSE);

このクランプは取り除かれますが、残念ながら QT 5.0.2 でこの呼び出しを見つけることができません。QOpenGLFunctions内のQT 4.3以降に削除されたようです

どうすればこれを達成できますか?

4

2 に答える 2

0

こちらの Qt 5.1.1 for Windows 32-bit (VS 2010, OpenGL, 504 MB) のような OpenGL デスクトップ バージョンで QT を使用します 。

OpenGL と QT の詳細: http://qt-project.org/wiki/Qt-5-on-Windows-ANGLE-and-OpenGL

ご覧のとおり、デフォルトで OpenGL ES 2.0 バージョン (Angle プロジェクト経由) が使用され、glClampColor は使用できません。

于 2013-10-15T06:18:37.297 に答える