Opengl Simple Fragment Shader在纹理上叠加半透明三角形条带

时间:2011-02-01 20:25:00

标签: opengl transparency shader fragment

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

我有一个非常简单的片段着色器,我认为它适用于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),但我不想为我想要使用的每种颜色创建一个纹理,并希望通过着色器进行处理。 / p>

1 个答案:

答案 0 :(得分:4)

我是一个白痴,并没有意识到我没有回到前面,所以混合被搞砸了。一旦我修改了排序顺序,透明效果就像我想要的那样有效。