【问题标题】:Opengl Simple Fragment Shader to overlay semi-transparent Triangle Strip over textureOpengl简单片段着色器在纹理上覆盖半透明三角形条
【发布时间】:2011-02-01 20:24:59
【问题描述】:

我有一个带纹理的三角形带,形成一个四边形。当你点击它时,我希望周围区域用半透明的四边形标记,这样你仍然可以看到下面的纹理。我的四边形显示正确,但它们根本不透明,完全覆盖了下面的任何东西。

我有一个非常简单的片段着色器,我认为它可以与 glEnable(GL_BLEND)glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) 一起使用:

#version 130

out vec4 flatColor;

void main(void)
{
    flatColor = vec4(0.0,1.0,0.0,0.5);
}

如果我用一个简单的图像对四边形进行纹理处理,它可以正常工作 RGBA(0,255,0,128),但我不想为我想要使用的每种颜色创建纹理,而是希望通过着色器来完成。

【问题讨论】:

    标签: opengl glsl shader transparency


    【解决方案1】:

    我是个白痴,没有意识到我没有拉回前面,所以混合混乱了。一旦我修复了排序顺序,透明效果就会像我想要的那样工作。

    【讨论】:

      猜你喜欢
      • 2014-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多