部分模型在 OpenGL 中被奇怪地遮挡

Parts of model are occluded strangely in OpenGL

我正在使用 GLES20 在 Android 中渲染一个桶形对象。枪管渲染不正确,我不清楚问题出在哪里(纹理?模型?剔除?深度?):

我试过使用 Google 的调试器进行调试。模型可以在调试器中正确渲染,纹理也可以正确加载。

我尝试了与 glFrontFaceglBlendFuncGL_DEPTH_TESTGL_CULL_FACE 相关的各种参数。但到目前为止 none 的组合可以成功渲染桶。

有谁知道这个渲染有什么问题吗?

PS: 在调试器 GAPID 中,深度缓冲区似乎全黑 (Y=1.0)。但我不确定这是否是调试器的问题?我已启用 GL_DEPTH_TESTGL_LEQUAL。我也用过 setEGLConfigChooser(true).

感谢@HolyBlackCat!

zNearzFar 都必须是正数。混乱的透视矩阵产生了这种看起来很奇怪的渲染。