我正在使用 QGLWidget 和 QGLFramebufferObject 在 QT 中渲染到纹理。我的意图是通过着色器将浮点值写入纹理。
我使用 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 之后被删除
我怎样才能做到这一点?