我对openGL中的FBO和深度有问题。我将投影、视图和模型矩阵传递给一个着色器,该着色器写入g缓冲区。当我解除绑定FBO并写入gl_FragColor时,场景显示为应有的样子。但当我写入gl_FragData,然后将附带的纹理写入屏幕对齐的四边形时,对象是根据逆序处理而不是深度绘制的……我可以看透先处理的对象到之后处理的对象。有没有人有同样的问题,他们知道解决方法吗?或者有人可以提供从顶点着色器读取深度值,查询当前深度,然后根据比较写入深度缓冲区的语法,即在片段着色器中手动处理操作。
发布于 2011-10-14 21:22:23
您的主帧缓冲区很可能具有该深度,而手动创建的FBO可能没有该深度。因此,当绘制到屏幕时,您具有深度排序的几何体,而您的FBO无法提供深度排序几何体,并且在内部使用禁用的深度测试,而没有与其关联的存储。
https://stackoverflow.com/questions/7748363
复制相似问题