webgl: белая рамка при использовании прозрачности (альфа)

При рендеринге текстур с альфа-каналом вокруг непрозрачных часть (кажется, что граница состоит из пикселей с альфа> 0 и

enter image description here

Исходная текстура создается в иллюстраторе и экспортируется как png. вот оно:

enter image description here

(ну, кажется, переполнение стека изменило изображение, отрегулировав пиксели, которые не полностью непрозрачны / непрозрачны, поэтому вот ссылка )

, вероятно, это смешивание, хотя я не знаете, что не так с настройкой:

gl.enable(gl.BLEND);
gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);

[Обновление]

Вот визуализированный версия, где я добавил альфа-градиент в левую часть текстуры (так что непрозрачность становится от 0 до 1 до половины)

enter image description here

эта текстура является единственной текстурой, визуализированной в этой позиции. он кажется самым белым около 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-страницы белый. Однако у меня нет объяснения.

9
задан genpfault 23 December 2011 в 06:55
поделиться