如何将framebuffer对象中的屏幕外数据绘制到QGLWidget?

时间:2016-08-25 14:41:04

标签: c++ opengl qtopengl

我使用glGenFramebuffer,glBindFramebuffer和其他相关函数来创建Framebuffer对象(FBO),并使用FBO绘制屏幕外数据。现在我的问题是我完成了QGLWidget中提到的步骤,我如何将FBO中的数据绘制回QGLWidget?非常感谢你!

1 个答案:

答案 0 :(得分:0)

假设您使用

将颜色缓冲区附加到帧缓冲区
glBindFrameBuffer(GL_FRAMEBUFFER, 0);
glClear(GL_COLOR_BUFFER_BIT);

通过

将帧缓冲区更改为窗口小部件
<script type="text/javascript">
var array  =  <%= raw sort_section %>
    for(i = 0; i < array.length; i++) {
        $('#test').append("<%= j render :partial => 'section_in_panel', :locals => {:section => raw array[i]} %>");
    }
</script>

只需使用上一个纹理渲染纹理。您可以简单地从[-1,-1]到[1,1]渲染四边形并使用上面的纹理边界,纹理坐标将是[0.0,0.0] - [1.0,1.0]。