При рендеринге текстур, имеющих альфа-канал, вокруг непрозрачной части появляется белая рамка (кажется, что это пиксели с альфа-каналом> 0 и <1): </p>
Исходная текстура создается в иллюстраторе и экспортируется в виде png. вот оно:
(ну, кажется, переполнение стека изменило изображение, настроив пиксели, которые не являются полностью непрозрачными / прозрачными, так что здесь есть ссылка )
это, вероятно, смешивание, хотя я не знаю, что не так с настройкой:
gl.enable(gl.BLEND);
gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);
[Update]
Вот отрендеренная версия, в которой я добавил альфа-градиент в левую часть текстуры (так что он становится от 0 непрозрачности до 1 до половины)
эта текстура является текстурой only , отображаемой в этой позиции. кажется, что он белый с а = 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-страницы является белый. У меня нет объяснения.