Мне нужно выполнить рендеринг в объект фреймбуфера с GL_FLOAT в качестве внутреннего формата для вычислений с плавающей запятой. Я знаю, как добиться этого, используя собственные вызовы OpenGL, например:
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA32F, width, height,
0, GL_RGBA, GL_FLOAT, NULL);
Чтобы использовать QPainter для рендеринга в FBO, QGLFramebufferObject. Однако QGLFramebufferObject не позволяет устанавливать тип, а только внутренний формат и формат текстуры (который в моем случае используется в прикреплении цвета).
Есть ли способ использовать точность с плавающей запятой с QGLFramebufferObject в Qt 4.8?
Я знаю, что могу каким-то образом исправить и перекомпилировать Qt, но это громоздко и не очень элегантно. Я также рассматривал возможность написания собственного класса FramebufferObject, но тогда один из них должен быть производным от QPaintDevice и, таким образом, предоставлять собственный QPaintEngine. Не очень хорошее решение, так как Qt, очевидно, имеет для этого движок, но он недоступен.