ほとんどの場合、いくつかのものを明示的に指定するのを忘れています。デフォルトはデバイスによって異なり、ある GPU で動作するコードは別の GPU では失敗します。次のすべてが設定されていることを確認してください。
GLES20.glEnable(GLES20.GL_DEPTH_TEST); // enable depth test
GLES20.glDepthMask(true); // write to z-buffer
GLES20.glDepthFunc(GLES20.GL_LEQUAL); // specify the way depth test works
ジオメトリを描画するときは、常にカラー バッファーと深度バッファーの両方を消去します。
GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT | GLES20.GL_DEPTH_BUFFER_BIT); // clear both color and z-buffer
最後に、OpenGL コンテキストが適切に初期化されていること、および使用されている EGL 構成 (EGL_DEPTH_SIZE
が 0 ではない) の深度バッファーがあることを確認してください。Desire S で使用可能なすべての EGL 構成のリストは、http://gfxbench.com/device.jsp?benchmark=gfx27&D=HTC+Desire+S&testgroup=egl で確認できます。