Хочу использовать полпрозрачную текстуру с альфаканалом.
Загружаю из png. Создаю текстур формата Context3DTextureFormat.BGRA. Вызываю Texture.uploadFromBitmapData.
Ставлю обычный альфа-блендинг:

Код AS3:
context3D.setBlendFactors(Context3DBlendFactor.SOURCE_ALPHA, Context3DBlendFactor.ONE_MINUS_SOURCE_ALPHA);
И наблюдаю такую картину: RGB каналы всех прозрачных пикселей (у которых альфа равна 0) заменяются черным цветом (нулями тоесть).
В результате, если увеличить объекты, становятся видны черные края (это происходит из-за сглаживания)

Свой BitmapData я проверил, там все нормально: во всех пикселях (даже в полностью прозрачных) белый цвет.
Должно быть вот-так: (изображение получено из обычного флеша)
Покопав дальше вообще обнаружил, что uploadFromBitmapData весьма своеобразно делает текстуры из полупрозрачных битмапов. Он какбы ренедерит их на черном фоне и записывает полученый результат в RGB канал (альфу при этом копирует правильно).
Т.е. если есть белое полупрозрачное облачко, то после uploadFromBitmapData получаем текстуру с СЕРЫМ полупрозрачным облаком. Дурдом! За такое руки отрывать надо, ИМХО.
Посоветуйте пожалуйста, как лучше создавать текстуры, в которых усиленно используется полупрозрачность, чтобы все каналы в текстуре были такие, как задумано в оригинале, а не как адобу в голову взбрело.