我在OpenGL中有一张树的图片作为2D纹理。我想删除背景(skyblue)或者更确切地说使该部分透明。如何在片段着色器中执行此操作。我想出的最接近的是去除纹理中高于阈值的像素。例如
#version 330
in vec2 texCoord;
out vec4 outColor;
uniform sampler2D theTexture;
void main()
{
vec4 texel = texture(theTexture, texCoord);
if(texel.b < threshold)
discard;
outColor = texel;
}