【发布时间】:2014-07-04 06:29:28
【问题描述】:
使用 Qt 和 opengl,我想画一个 QGlFrameBufferObject 吗? 我试试这个:
QGLFrameBufferObject * fbo = new QGLFramebufferObject(200, 200, QGLFramebufferObject::NoAttachment, GL_TEXTURE_2D, GL_RGBA32F);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0f, fbo->size().width(), fbo->size().height(), 0.0f, 0.0f, 1.0f);
fbo->bind();
glClearColor(1.0f, 0.0f, 0.0f, 1.0f);
fbo->release();
fbo->toImage().save("test.jpg"));
但我没有得到红色图像。
其他问题
如果我想用 :
glBegin(GL_QUAD);
glColor3d(0.2, 0.5, 1.0);
glVertex2i( 10, 20);
glColor3d(0.7, 0.5, 1.0);
glVertex2i( 15, 20);
glColor3d(0.8, 0.4, 1.0);
glVertex2i( 15, 25);
glColor3d(0.1, 0.9, 1.0);
glVertex2i( 10, 25);
glEnd();
我还需要glClear() 吗?
【问题讨论】:
-
你能试试
GL_RGBA8这样的格式吗?GL_RGBA32F应该 工作,但它是一种较新且较少使用的格式。为了缩小问题范围,值得检查更基本的格式是否有效。 -
GL_RGBA8也有同样的问题。