我有一个FBO的问题和openGL的深度。我将投影,视图和模型矩阵传递给写入g缓冲区的着色器。当我取消绑定FBO并写入gl_FragColor时,场景就会显示出来。但是当我写入gl_FragData [0]然后将伴随的纹理写入屏幕对齐的四边形时,根据逆序处理而不是深度绘制对象...我可以看到通过先处理的对象处理后的对象。有没有人有同样的问题,他们知道修复?或者有人可以提供从顶点着色器读取深度值的语法,查询当前深度,然后根据比较写入深度缓冲区,即在片段着色器中手动处理操作。
答案 0 :(得分:4)
您的主框架缓冲区很可能具有深度,而手动创建的FBO可能没有它。因此,当绘制到屏幕时,您具有深度排序的几何体,而您的FBO无法提供,并且内部使用禁用的深度测试,没有与之关联的存储。