Android 关于使用opengl es渲染相邻立方体的工件?

Android 关于使用opengl es渲染相邻立方体的工件?,android,opengl-es,Android,Opengl Es,我试图在android上用opengl es呈现rubix立方体。我是这样做的:我渲染27个相邻的立方体。覆盖的立方体的面用黑色bmp图片进行纹理处理,其他可以看到的面用彩色图片进行纹理处理。我使用了cull face和深度测试来避免渲染无用的面。但看看我得到了什么,真是太棒了。黑脸有时会出现。有人能告诉我如何处理这些文物吗 截图: 由于屏幕截图的好处,深度缓冲似乎根本没有任何效果-是否可以安全地得出结论,先渲染立方体的侧面,然后渲染立方体后面的中心部分,然后渲染背面 我对Android的东西有

我试图在android上用opengl es呈现rubix立方体。我是这样做的:我渲染27个相邻的立方体。覆盖的立方体的面用黑色bmp图片进行纹理处理,其他可以看到的面用彩色图片进行纹理处理。我使用了cull face和深度测试来避免渲染无用的面。但看看我得到了什么,真是太棒了。黑脸有时会出现。有人能告诉我如何处理这些文物吗

截图:


由于屏幕截图的好处,深度缓冲似乎根本没有任何效果-是否可以安全地得出结论,先渲染立方体的侧面,然后渲染立方体后面的中心部分,然后渲染背面

我对Android的东西有点不了解,但我认为混淆可能只是在OpenGL中启用深度测试是不够的。您还必须确保分配了深度缓冲区

您可能调用了
setEGLConfigChooser
,禁用了深度缓冲区。该方法有很多重载变体,但单一的布尔版本和允许指定redSize、greenSize等的版本可以让您明确控制是否存在深度缓冲区大小。所以你要检查一下


如果要显式创建帧缓冲区,请确保附加了深度渲染缓冲区。

深度缓冲区精度问题将是直接的猜测-深度缓冲区的精度非常高,因此如果多边形的范围很近,则可能会无意中得出另一个更近的结论,但仅在某些像素上。你能发布一个截图(或一个链接;有人可以直接将其移动到你的帖子中)吗?如果这个问题与此无关,那么就不用再写长篇大论了。谢谢你的帮助。我确实有一些截图,但似乎我没有足够的声誉来发布图片。还有其他地方可以放它们吗?影像小屋或任何类似的地方?声誉更高的用户可以在线移动图像,这样我就可以将它们直接添加到您的问题中——这样即使我不知道答案,其他人也可能会解决这个问题。我将截图放在imageshack上。下面是url:我只呈现了一个立方体来证明深度测试是否有用。我发现你说的深度缓冲没有效果是对的~我确实发现一个setEGLConfigChooser调用禁用了深度缓冲。非常感谢你注意到这一点。我想问题已经解决了。