Shader:sendColor
Доступно начиная с LÖVE 0.10.0
Эта функция не поддерживается в более ранних версиях.
Отправляет один или несколько цветов в специальную (extern / uniform) переменную vec3 или vec4 внутри шейдера. Компоненты цвета должны находиться в диапазоне [0, 1]. Цвета корректируются с учетом гамма-коррекции, если глобальная гамма-коррекция включена.
Переменные Extern должны быть помечены с помощью ключевого слова extern, например:
extern vec4 Color;
Соответствующий вызов sendColor будет:
shader:sendColor("Color", {r, g, b, a})
К переменным Extern можно получить доступ как в вершинном, так и в фрагментном этапах шейдера, при условии, что переменная объявлена в каждом из них.
В версиях до 11.0 значения компонентов цвета находились в диапазоне от 0 до 255 вместо 0 до 1.
Функция
Синопсис
Shader:sendColor( name, color, ... )
Аргументы
string name- Имя переменной extern цвета, которую нужно отправить в шейдер.
table color- Таблица с красным, зелёным, синим и необязательным альфа-компонентами цвета в диапазоне [0, 1], которые нужно отправить в extern в виде вектора.
table ...- Дополнительные цвета для отправки, если extern является массивом. Все цвета должны иметь одинаковый размер (например, только vec3).
Возвращаемые значения
Ничего.
См. также
© 2006–2020 LÖVE Development Team
Licensed under the GNU Free Documentation License, Version 1.3.
https://love2d.org/wiki/Shader:sendColor