Формулы почти рандомные:
desaturation: снижение насыщенности в зависимости от насыщенности верхнего слоя
ambient light: hard light + desaturation
multiply (desat): умножение цвета с верхнего слоя на L ("средний" цвет по HLS) ((max+min)/2) цвета нижнего слоя.
lerp light: линейная интерполяция, где сила зависит от 1-L по HLS цвета нижнего слоя.
(последней штуке я не придумал нормального названия, и вообще она тут за компанию, как быстрое решение вечной проблемы "тёмные участки что-то слишком сильно подсвечиваются, а светлые никак")
Всякие сложные штуки типа учёта хроматичности и BT.601/709 оказалось сложнее для ментальной предсказуемости результата (я работаю в HLS модели и ничего другого не знаю не воспринимаю), так что были выкинуты. Не знаю, может как-нибудь потом побалуюсь с этим ещё, пока всё устраивает.
(в последних двух артах как раз используется "ambient light" вместо моего обычного hard light и "lerp light" для светлых мест)
Post #369
40

- 👀 1