Комментарии 25

В правой картинке, очевидно, зашит чёрный фон, так что на любом другом фоне она будет выглядеть криво - с тёмной окантовкой. Зачем такой формат "прозрачности" хоть кому-то нужен остаётся загадкой.
Да, если смотреть только на RGB, кажется, будто справа «зашит чёрный фон». На самом деле это не фон, а уже выполненное умножение цвета на альфу.
Такую картинку нельзя просто положить на другой фон как обычный PNG. Её композят так:
Тогда тёмная кайма не появляется: поскольку изображение сверху добавляется через ADD. Напомню ADD это операция когда цвета становятся ярче, но никак не темнее. Кайма возникает, когда premultiplied принимают за straight и умножают на альфу второй раз — об этом как раз абзац про чёрный контур вокруг огня.
Зачем так хранить:
в одном слое можно держать (и, главное, рендерить) и полупрозрачность, и свечение (огонь, glare, блик), это я указал в статье
при мипмапинге и фильтрации такая альфа ведёт себя лучше;
рендер, Nuke, Fusion, работают именно с таким типом альфы. Это - стандарт композа.
А как для игр экспортят такие текстуры со свечением и нулевой альфой, если в PNG некрасиво? Делают две текстуры и смешивают на рендере? Или другой формат изображений берут?
Просто переключатель в настройках текстуры типа такого: https://docs.unity3d.com/6000.1/Documentation/Manual/urp/blending-modes.html
По самому файлу не поймёшь, там straight или premultiplied, так же как не поймёшь нормали там direct x или openGL
direct x или openGL
Любопытно, а в чём разница?
О, у меня есть видос на эту тему: https://www.youtube.com/watch?v=mjbxB1rb9OI
Если в кратце инвертированы в зеленом канале

Прямо сейчас видео посмотреть не могу, но ведь это только для Fixed Function Pipeline? На шейдерах же можно как угодно карты нормалей сделать.
В системе координат, в Dx она леворукая, в огл праворукая(или наоборот, точно не помню) отсюда и разная работа с нормалмапами, потому что они запекаются в тангентспэйсе.
Хороший вопрос на самом деле, я не знаю какой там пайплайн. Я заметил, что если сохранить в tiff, то 8bit выводится straight, а 16bit premultiplied. По идее можно сохранить в 16bit tiff, a потом уже где собирается атлас сохранить во что-то более удобное.
Полученные изображения нужно проявить на одну плёнку.
То ли авто генерация, то ли автор не понимает процессов в плёночной фотографии и киносъёмке.
Просто скриншот нельзя сделать?
ПО для композинга обычно поддерживает premultiplied alpha и в формате PNG, нужно просто поставить соответствующую галочку при импорте. Никогда не испытывал с этим проблем, видишь темный контур и сразу знаешь что нужно включить.
Ха-ха, да, но проблема не в импорте, а экспорте. Проблема в том как рендер из Blender сохранить в PNG с premultiplied alpha. До 2.8 можно было выбрать формат при сохранении, а в современных версиях выбора нет.
насчет Straight alpha: насколько помню, в браузерах будет не 50/50, а
50% opacity means, 50% of the light is blocked
50% + (50% * 50%) = 75% opacity.
(это если два слоя по 0.5 миксовать)
ну или если более точно
Total Opacity = First Opacity + (100 - First Opacity) * Second Opacity
при этом first - это тот, что снизу.
сверялся с этим обсуждением и на практике вроде все сходилось
Полученные изображения нужно проявить на одну плёнку.
Тут я споткнулся. Не проявить, а снять на одну пленку?
Ну, то что блендер не способен сохранить в полупрозрачное PNG, без предварительного умножения, запеча эффекты, эт просто косяк блендера, а не незнание пользователей и т.д.
По сути статья не про разные альфы, а по разные способы композа, которых к слову не 2 а гораздо больше. И если говорить про GAPI то каждая операция над текущими данными и бэком настраивается через параметры смешивания.


Куда девается свечение при сохранении в PNG. Два формата прозрачности, о которых почти никто не знает