关于glClearBufferiv中的drawBuffer

时间:2013-02-14 06:34:53

标签: opengl opengl-3

我在非默认FBO上渲染几何体并将其作为整数纹理应用于在默认FBO上渲染的几何体。要清除非默认FBO上的颜色,我使用glClearBufferiv()调用。在我的情况下,我没有得到drawBuffer(第二个参数)。我试过0,但它不起作用。它不清楚颜色。

GLint cl[]={32000,32000,32000,32767};
glClearBufferiv(GL_COLOR, 0, cl);

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

我的碎片着色器:

out ivec4 fragColor;

void main()
{
fragColor = ivec4(0,32767,0,32767);
}

这样,它渲染绿色几何体,但外部颜色为黑色。

我有1个深度和颜色附件。我正在调用drawbuffers如下:

GLenum buffers[] = { GL_COLOR_ATTACHMENT0};
glDrawBuffers(1,buffers);
GLint cl[]={32000,32000,32000,32767};
glClearBufferiv(GL_COLOR, 0, cl); or
 glClearBufferiv(GL_COLOR, GL_DRAW_BUFFER0, cl)

但仍然是同样的错误。

0 个答案:

没有答案