我尝试使用QGLFramebufferObject
渲染屏幕,但不是直接在我的场景上渲染。
这是我对FBO方法的渲染
void GLWidget::paintToFBO()
{
makeCurrent();
saveGLState();
glViewport(0, 0, figureFBO->size().width(), figureFBO->size().height());
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-1, 1, -1, 1, -1,1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
figureFBO->bind();
{
glDisable(GL_TEXTURE_2D);
qglClearColor(Qt::yellow);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
qglColor(Qt::blue);
glVertexPointer(2, GL_FLOAT, 0, vertices.constData());
//Draw 4 vertices
glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
}
figureFBO->release();
restoreGLState();
}
错误在哪里?