小编cua*_*tro的帖子

Opengl 简单片段着色器在纹理上覆盖半透明三角形条

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

我有一个非常简单的片段着色器,我认为可以使用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);
}
Run Code Online (Sandbox Code Playgroud)

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

opengl shader transparency glsl

3
推荐指数
1
解决办法
2687
查看次数

标签 统计

glsl ×1

opengl ×1

shader ×1

transparency ×1