基於Qt的OpenGL可編程管線學習(5)- FBO的使用
阿新 • • 發佈:2017-06-01
qt opengl shader fbo
FBO: Frame Buffer Object,默認繪制在1號FBO中,自定義的FBO是可以做讀寫操作的。
繪制到自定義的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的紋理
本文出自 “不會飛的紙飛機” 博客,請務必保留此出處http://douzhq.blog.51cto.com/12552184/1931029
基於Qt的OpenGL可編程管線學習(5)- FBO的使用