iOS上のOpenGLES2.0で半透明性の問題が発生しています。私のシーンはかなりシンプルです。立方体のグリッドで構成されており、一部は塗りつぶされているように見えますが、その他は半透明になっている必要があります。私はOpenGLをセットアップするために以下のコードから始めました。
glEnable(GL_CULL_FACE);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LEQUAL);
glEnable (GL_BLEND);
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
これにより、深度テストとカリングが原因で、一部の角度で不正確な透明度がレンダリングされます。以下の2つの画像を参照してください
カーリングと深度テストを無効にし、アルファテストを有効にしようとしました。結果は正しい透明度ですが、テクスチャはありません(下の画像を参照)。
//glEnable(GL_CULL_FACE);
//glEnable(GL_DEPTH_TEST);
//glDepthFunc(GL_LEQUAL);
glAlphaFunc(GL_GREATER, 0.5);
glEnable(GL_ALPHA_TEST);
glEnable (GL_BLEND);
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
GLKitを使用してテクスチャをロードし、GLKBaseEffectを使用してシーンをレンダリングしています。誰かが最初の画像と同じ結果をすべての視点で正しい透明度で達成する方法のヒントを持っていますか?ありがとうございました :)