Гораздо приемлемее. Отклоняясь от темы: когда пробуете разные значения в шейдере, постарайтесь следовать правилу «Double or halve» (из статьи Сида Мейера — значения стоит увеличивать или уменьшать вдвое, чтобы лучше понимать результат). Так вы будете замечать изменения и прослеживать их зависимость от ваших действий.
Впрочем, это не важно, если вы уже получили нужное изображение. Попытаемся улучшить результат, совместив две картинки. Мы сделаем это с помощью альфа-композитинга (или альфа-смешивания).
Есть разные варианты формулы, вот тот, что использую я:
fixed4 alphaBlend(fixed4 dst, fixed4 src) {
fixed4 result = fixed4(0, 0, 0, 0);
result.a = src.a + dst.a*(1 - src.a);
if (result.a != 0)
result.rgb = (src.rgb*src.a + dst.rgb*dst.a*(1 - src.a)) / result.a;
return result;
}
Спасибо DTF за то, что есть функция "добавить в избранное". Жаль только, что таких полезных статей тут меньше, чем всего остального.
очень прикольная статья ) спасиб
Форматирования и подсветки кода очень не хватает.
Код постарались выделить, есть предложения, как это можно сделать лучше и просто?
Шейдер необоснованно тяжелый. Особенно для фулскрина. Можно попроще похожий эффект получить. Но за статью спасибо, побольше бы таких, технических. Пока хабр рулит в этом плане.
Да. И 80lvl.
Добавьте уже редактирование)