@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 текстуры, одна из которых не важна для вопроса)
  • Вопрос задан
  • 2785 просмотров
Решения вопроса 1
BasmanovDaniil
@BasmanovDaniil
Геймдизайнер-телепат
У альфы самой по себе смысла нет, это просто ещё один канал для передачи информации. Как автор шейдера захотел, такой смысл и будет. В общем случае умножение rgb-канала на число влияет на интенсивность цвета. Белый цвет помноженный на 0.5 превратится в серый, на ноль - в чёрный. Если судить по названию переменной, в формуле считается яркость звёздного неба, а в альфе хранятся веса звёзд разного типа, т. е. степень их влияния на общую яркость.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы