我有一个附加两个纹理的 FBO。然后我想绑定 FBO,使用第一个纹理作为输入(绑定)到着色器并写入第二个纹理,两者都附加到 FBO。我尝试使用 glDrawBuffer 将 GL_COLOR_ATTACHMENT1 指定为绘图缓冲区,但没有成功。这可能吗?
编辑:
这是我尝试这样做的方法:
GLuint tex0, tex1; // they are created elsewhere and bound to the fbo
glBindFramebuffer( GL_FRAMEBUFFER, fbo );
glActiveTexture( GL_TEXTURE0 );
glBindTexture( GL_TEXTURE_2D, tex0 );
glDrawBuffer(GL_COLOR_ATTACHMENT1);
// render code
glReadBuffer(GL_COLOR_ATTACHMENT1);
glReadPixels(...);
但是 glReadPixels 的结果与我的预期不同。你能看出这里有什么问题吗?