2014-05-14 61 views
0

我正在使用FBO将场景绘制到纹理,并读取像素以选择我的对象。绘制到FrameBuffer忽略深度测试

的问题是绘图的纹理被忽略了深度Left is real scene and right is the texture

在左边是场景,右边是质地(保存到文件进行调试的原因)。 正如你所看到的那样,有两架飞机在另一架之上,而前方的飞机则更向上。尽管在纹理上是相反的。这使得用户在看到另一架飞机时在后台选择飞机。

我试过让我想到的一切,但我想我失去了一些东西。

+5

FBO是否有深度缓冲?如果没有深度测试 –

+0

也确保启用深度测试'glEnable(GL_DEPTH_TEST)'和深度写'glDepthMask(GL_TRUE)'。 – glampert

+0

我也试过了。但仍然是我得到相同的结果。 –

回答

0

感谢怪胎冲高,

我已经意识到我跳过了深度缓冲:)

我刚创建的深度分量渲染缓冲器,并将其附加到帧缓冲区对象。