Задать вопрос
@Badou

Шейдер в Unity3D, в чем смысл перемножения rgb на альфу?

Просматриваю статью по шейдерам (сам полный новичок в данном деле), там в качестве примера приводится следующая строка:
half3 starAlbedo = smallStars.rgb * smallStars.a 
                 + mediumStars.rgb * mediumStars.a 
                 + bigStars.rgb * bigStars.a;

Попробовал убрать умножение на альфу, получил изображение в странных, разноцветных разводах. Кто-нибудь может простым языком объяснить физический смысл данного произведения? или поделиться ссылкой где освещается данный вопрос?

P.S.
smallStars, mediumStars, bigStars - переменные half4 которые хранят, как я понял, информацию о каналах rgba пикселя текстуры который сейчас проходит через шейдер (там 4 текстуры, одна из которых не важна для вопроса)
  • Вопрос задан
  • 2789 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
BasmanovDaniil
@BasmanovDaniil
Геймдизайнер-телепат
У альфы самой по себе смысла нет, это просто ещё один канал для передачи информации. Как автор шейдера захотел, такой смысл и будет. В общем случае умножение rgb-канала на число влияет на интенсивность цвета. Белый цвет помноженный на 0.5 превратится в серый, на ноль - в чёрный. Если судить по названию переменной, в формуле считается яркость звёздного неба, а в альфе хранятся веса звёзд разного типа, т. е. степень их влияния на общую яркость.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы