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