Как нарисовать внеэкранные данные в объекте кадрового буфера в QGLWidget?

Я использую glGenFramebuffer, glBindFramebuffer и другие связанные функции для создания объекта Framebuffer (FBO) и использую FBO для рисования данных вне экрана. Теперь мой вопрос заключается в том, чтобы я завершил упомянутые шаги внутри QGLWidget и как я могу отрисовать данные в FBO обратно в QGLWidget? Большое спасибо!

0

Решение

Предполагая, что вы прикрепили цветной буфер к вашему кадровому буферу, используя

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].

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]