Я использую glGenFramebuffer, glBindFramebuffer и другие связанные функции для создания объекта Framebuffer (FBO) и использую FBO для рисования данных вне экрана. Теперь мой вопрос заключается в том, чтобы я завершил упомянутые шаги внутри QGLWidget и как я могу отрисовать данные в FBO обратно в QGLWidget? Большое спасибо!
Предполагая, что вы прикрепили цветной буфер к вашему кадровому буферу, используя
glFramebufferTexture2D( myfboID, GL_FRAMEBUFFER, GL_TEXTURE_2D, mytexID, 0);
Измените кадровый буфер на виджет
glBindFrameBuffer(GL_FRAMEBUFFER, 0);
glClear(GL_COLOR_BUFFER_BIT);
Просто визуализируйте QUAD, текстурированный с предыдущей текстурой. Вы можете просто визуализировать четырехугольник от [-1, -1] до [1,1] и с указанной выше границей текстуры, а координаты текстуры будут [0.0,0.0] — [1.0,1.0].
Других решений пока нет …