У меня есть изображение дерева в OpenGL в качестве 2D текстуры. Я хочу удалить фон (голубой) или, вернее, сделать эту часть прозрачной. Как я могу сделать это во фрагментном шейдере. Самое близкое, что я придумал, — это удаление пикселей текстуры, которые превышают пороговое значение. Например,
#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;
}
Задача ещё не решена.