我在非默认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)
但仍然是同样的错误。