2011-08-11 82 views
4

我想在openGL-es 2.0中绘制一个半透明(比如alpha = 0.5)多边形。怎么做?。几件事我尝试了。 1.我在片段着色器中使gl_Fragcolor.w = 0.5。 2.禁用深度相关的东西。如何在OpenGL-ES 2.0中绘制透明多边形?

我不知道如何在openGL-es 2.0中启用混合。我在某处自动执行它。是这样吗?。任何小帮助表示赞赏。

+0

我给了一个透明的颜色,而不是改变阿尔法。它工作正常.GlBlend在Es-2.0中没有被取消。当你有透明OPenGL图层时,我们看到绘图或者出现(alpha> 0)或者消失(alpha = 0)。当视图不透明时,我们可以完美地看到混合。 – Vignesh

回答

9

您必须启用alpha混合。对于如何做到这一点的常见问题:http://www.opengl.org/resources/faq/technical/transparency.htm。为了使您想要的效果:

glEnable (GL_BLEND); 
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); 

注意,启用alpha混合会有所影响性能 - 因此,只有做到这一点就必须具有alpha混合启用了三角形。

+0

感谢您的回答。让我知道你对我在这个问题中添加的评论有什么看法? – Vignesh