fbo にレンダリングしてから、そのテクスチャを後処理用の 2 番目のレンダー パスへの入力として使用しようとしていますが、レンダリングされたテクスチャglClear
にglClearColor
影響しているようです。表示バッファのみに影響を与えるにはどうすればよいですか?
私のコードは次のようになります。
UseRenderingShaderProgram();
glBindFramebuffer(GL_FRAMEBUFFER, fb);
glClearColor(0.0, 0.0, 0.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
renderWorld();
// render to screen
UsePostProcessingShaderProgram();
glBindFramebuffer(GL_FRAMEBUFFER, 0);
glClearColor(0.0, 0.0, 0.0, 1.0); // <== texture appears to get cleared in this two lines.
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
renderWorld();
glfwSwapBuffers();