При рендеринге текстур с альфа-каналом вокруг непрозрачных часть (кажется, что граница состоит из пикселей с альфа> 0 и
Исходная текстура создается в иллюстраторе и экспортируется как png. вот оно:
(ну, кажется, переполнение стека изменило изображение, отрегулировав пиксели, которые не полностью непрозрачны / непрозрачны, поэтому вот ссылка )
, вероятно, это смешивание, хотя я не знаете, что не так с настройкой:
gl.enable(gl.BLEND);
gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);
[Обновление]
Вот визуализированный версия, где я добавил альфа-градиент в левую часть текстуры (так что непрозрачность становится от 0 до 1 до половины)
эта текстура является единственной текстурой, визуализированной в этой позиции. он кажется самым белым около a = 0,5. очень странно. фон - это просто очищенный цвет:
gl.clearColor(0.603, 0.76, 0.804, 1.0);
gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
// render objects here
функция глубины выглядит так:
gl.enable(gl.DEPTH_TEST);
gl.depthFunc(gl.LEQUAL);
какие-нибудь идеи? большое спасибо.
[Обновление 2]
Отвечая на свой вопрос: эффект возникает, когда цвет фона холста или тела html-страницы белый. Однако у меня нет объяснения.