在单个FBO上切换多个深度纹理

时间:2012-11-13 02:27:52

标签: c++ opengl textures fbo depth-buffer

我正在创建一个延迟渲染器并尝试使用FBO实现此目的。首先,我使用了3个不同的FBO(gbuffer,lbuffer和“screen”)并且它有效。但是,它的表现非常糟糕。我读here说使用一个FBO并使用glFramebufferTexture2D切换纹理要快得多。

这种技术的问题在于我从深度纹理中获得了大量无法解释和不可预测的行为(我正在进行深度剥离,因此在两个深度纹理之间切换)。似乎每当我从深度纹理A切换到纹理B时,A都会被清零,反之亦然。

有没有人知道使用glFramebufferTexture2D为同一个FBO切换深度纹理是否存在问题?我正在使用gDebugger来检查纹理。

我正在使用Visual C ++ 2010进行开发。

0 个答案:

没有答案