OpenGL ES 2.0 (エミュレータを搭載した PC) で glDepthFunc を使用しようとしましたが、動作がわかりません。
init 関数では、これらの値の定義のみを呼び出します。
glClearDepthf( 0.5f );
glClearColor ( 1.0f, 0.0f, 0.0f, 0.0f );
そして、描画関数では、このコード:
glClear ( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glEnable( GL_DEPTH_TEST );
glDepthFunc(GL_LEQUAL);
glUniform4fv(unifColor, 1, verColor);
glDrawArrays ( GL_TRIANGLE_FAN, 0, 4 );
eglSwapBuffers
緑の四角(画面サイズの半分)を描いています。描かれた正方形の z 値が 0.5 の場合。
深度テストが TRUE になり、緑色の正方形が描画されることを期待していますが、赤い画面 (クリア カラーで使用される色) しか表示されません。明確な深度値を 1.0 に定義すると、期待される動作が得られます: 赤い画面に grren squar が表示されるため、必要に応じて深度が使用されると思います (すべての初期化された深度の定義)。
何が問題になる可能性がありますか?
ご協力いただきありがとうございます