Я пытаюсь сложить одну текстуру поверх другой, но у меня проблемы с альфа-смешением по краям. Я пробовал много комбинаций смешивания без везения. Где я иду не так?WebGL alpha blending
Текущее состояние фреймбуфером (непрозрачный):
Прозрачная текстура, вынесенное в закадровым фреймбуфером:
Результат при попытке смешать два. Обратите внимание на края по окружности:
Вот blendFunc:
_gl.blendFuncSeparate(_gl.SRC_ALPHA, _gl.ONE_MINUS_SRC_ALPHA, _gl.ONE, _gl.ONE_MINUS_SRC_ALPHA);
Вот шейдер. Просто основной рендеринг текстуры:
uniform sampler2D texture;
varying vec2 vUv;
void main() {
vec4 tColor = texture2D(texture, vUv);
gl_FragColor = tColor;
}