【问题标题】:How to draw Transparent Polygon in OpenGL-ES 2.0?如何在 OpenGL-ES 2.0 中绘制透明多边形?
【发布时间】:2011-08-11 11:52:05
【问题描述】:

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

我不知道如何在 openGL-es 2.0 中启用混合。我在某个地方读到它是自动实现的。是这样吗?。任何小的帮助表示赞赏。

【问题讨论】:

  • 我给了一个透明的颜色而不是改变alpha。它工作正常。GlBlend 在 Es-2.0 中没有被废弃。当您拥有透明 OPenGL 图层时,我们会看到图形出现(alpha > 0)或消失(alpha=0)并混合。当视图不透明时,我们可以完美地看到混合。

标签: iphone opengl-es opengl-es-2.0


【解决方案1】:

您必须启用 Alpha 混合。有关如何执行此操作的常见问题解答:https://www.khronos.org/opengl/wiki/Transparency_Sorting

启用你想要的效果:

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

请注意,启用 alpha 混合会在一定程度上影响性能 - 所以只能在必须启用 alpha 混合的三角形上执行此操作。

【讨论】:

  • 感谢您的回答。让我知道您对我在该问题中添加的评论有何看法?
  • 链接指向一个空白页面:/
  • 但是,如果您可以更新链接目标,有用的答案 +1 会很棒
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-18
  • 2011-04-21
  • 2015-12-18
  • 2010-09-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多