0
我想渲染到一個fbo,然後使用該紋理作爲輸入到我的第二渲染通道進行後期處理,但似乎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();
*「紋理似乎在這兩行中被清除。」* - 事實並非如此,您的錯誤在別處。 – 2013-04-23 09:45:49