Добрый день.
Есть готовый шейдер для изменения цвета.
Требуется добавить в него изменение альфы итогового цвета.
Итоговое задание является удалить чёрный фон у jpg изображения, чтобы вместо чёрного цвета, куски стали прозрачными.
Код шейдера:
varying vec2 vTextureCoord;
uniform sampler2D uSampler;
uniform vec3 originalColor;
uniform vec3 newColor;
uniform float epsilon;
void main(void) {
vec4 currentColor = texture2D(uSampler, vTextureCoord);
vec3 colorDiff = originalColor – (currentColor.rgb / max(currentColor.a, 0.0000000001));
float colorDistance = length(colorDiff);
float doReplace = step(colorDistance, epsilon);
gl_FragColor = vec4(mix(currentColor.rgb, (newColor + colorDiff) * currentColor.a, doReplace), currentColor.a);
}
Данный шейдер взят из PIXI JS, шейдер colorReplace