0
我在iOS上遇到了使用OpenGL ES 2.0的半透明问题。我的场景很简单。它由一个立方体网格组成,其中一些应该显示为固体,而另一些应该呈现半透明。我开始使用下面的代码来设置OpenGL。OpenGL ES 2.0中的半透明
glEnable(GL_CULL_FACE);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LEQUAL);
glEnable (GL_BLEND);
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
由于深度测试和剔除,这会导致某些角度的透明度不正确。见下面
我试图禁用冰壶和深度测试和启用阿尔法测试的两个图像。结果是正确的透明度,但没有纹理(见下图)。
//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渲染场景。是否有人提示如何在第一张图片中获得与所有透视图相同的正确透明度?谢谢:)
谢谢你的提示。解决方案很简单,首先绘制坚实的立方体做了诀窍。 – Christoph