基于Qt的OpenGL可编程管线学习(5)-FBO的使用

FBO: Frame Buffer Object,默认绘制在1号FBO中,自定义的FBO是可以做读写操作的。

成都创新互联专业为企业提供双台子网站建设、双台子做网站、双台子网站设计、双台子网站制作等企业网站建设、网页设计与制作、双台子企业网站模板建站服务,10余年双台子做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

绘制到自定义的FBO,然后显示出来,如下图所示:基于Qt的OpenGL可编程管线学习(5)- FBO的使用

Qt中有关于FBO的类,QOpenGLFrameBufferObject

FBO的创建

m_FrameBufferObj = new QOpenGLFramebufferObject(w, h, QOpenGLFramebufferObject::Depth);

FBO的使用

bool result = m_FrameBufferObj->bind();
if (result){
    OpenGLCore->glClearColor(1.0, 0.0, 1.0, 1.0);
    OpenGLCore->glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    draw();
    m_ColorBuffer = m_FrameBufferObj->texture();
    m_FrameBufferObj->release();
}

调用bind()后就可以在FBO上绘制,texture()可以取出FBO的纹理


本文标题:基于Qt的OpenGL可编程管线学习(5)-FBO的使用
文章位置:http://ybzwz.com/article/piegsd.html