Iphone 使用glDrawTexfOES渲染具有前景对象的背景图像时出现问题

Iphone 使用glDrawTexfOES渲染具有前景对象的背景图像时出现问题,iphone,opengl-es,textures,depth-buffer,Iphone,Opengl Es,Textures,Depth Buffer,我有一个简单的iPhone OpenGL ES应用程序,其中我使用纹理渲染全屏背景图像,然后使用线条在上面绘制3D多面体。纹理将使用glDrawTexfOES显示 问题是我似乎无法在背景上显示多面体。在glDrawTexfOES调用中,如果使用小于1的z值,则背景图像将显示但不显示多面体。如果z值为1或更大,则多面体将显示,但不会显示背景图像 未启用混合。深度测试正在进行中。深度缓冲区已连接。仅绘制多面体时,深度测试似乎有效。多面体是用简单的线画出来的 z值行为表明多面体的深度缓冲值可能为1 关

我有一个简单的iPhone OpenGL ES应用程序,其中我使用纹理渲染全屏背景图像,然后使用线条在上面绘制3D多面体。纹理将使用glDrawTexfOES显示

问题是我似乎无法在背景上显示多面体。在glDrawTexfOES调用中,如果使用小于1的z值,则背景图像将显示但不显示多面体。如果z值为1或更大,则多面体将显示,但不会显示背景图像

未启用混合。深度测试正在进行中。深度缓冲区已连接。仅绘制多面体时,深度测试似乎有效。多面体是用简单的线画出来的

z值行为表明多面体的深度缓冲值可能为1


关于如何同时显示背景图像和前景对象的任何线索?

我猜,在绘制背景图像时,请禁用深度遮罩。这将确保在放置背景时深度缓冲区保持不变,以便绘制多面体并且不会通过深度测试


做一个简单的测试,缩小背景,然后放大多面体并使用原始算法进行渲染。你应该在没有背景的任何地方,以及多面体通过深度测试的任何地方看到你的几何图形。

谢谢,塞缪尔。我会试一试,然后再报告。