Тема: Вопросы
Показать сообщение отдельно
Старый 16.10.2020, 14:25   #13
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы

Если есть функция get_pixel, то можно использовать классическую функцию смешивания по альфе:

Result = CurrentColor * (1 - Alpha) + NewColor * Alpha

где CurrentColor - текущий цвет пикселя текстуры
NewColor - цвет рисуемого пикселя
Alpha - прозрачность рисуемого пикселя

Функцию применить для каждого компонента цвета ( RGB ):

ResultR = CurrentColorR * (1 - Alpha) + NewColorR * Alpha
ResultG = CurrentColorG * (1 - Alpha) + NewColorG * Alpha
ResultB = CurrentColorB * (1 - Alpha) + NewColorB * Alpha

Если смешивание идет в целых числах (0..255), то единицу заменить на 255
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
ant0N (16.10.2020), MadMedic (16.10.2020), St_AnGer (16.10.2020)