Математические узлы
В конструкторе шейдера математические узлы выполняют алгебраические, логические, тригонометрические и другие математические операции.
Примечание
При работе с математическими узлами в конструкторе шейдеров, повышение типа особенно явно.Чтобы получить сведения о том, как продвижение типа затрагивает входные параметры, см. в разделе «Продвижение входных данных» в Узлы конструктора шейдеров.
Ссылка на математический узел
Узел |
Подробные сведения |
Свойства |
---|---|---|
Abs |
Вычисляет абсолютное значение заданных входных данных для каждого компонента. Отрицательные значения компонентов входного значения X преобразуются в положительные, в результате чего каждый компонент результата получает положительное значение. Вход:
Output:
|
Нет |
Add |
Вычисляет покомпонентную сумму заданных входных данных для каждого компонента. Каждый компонент результата получается сложением соответствующих компонентов входных значений X и Y. Вход:
Выходные данные:
|
Нет |
Ceil |
Вычисляет наименьшее целое число заданных входных данных для каждого компонента. (Округление в большую сторону до ближайшего целого.) Вход:
Выходные данные:
|
Нет |
Clamp |
Изменяет все компоненты заданных входных данных, чтобы они попадали в заранее определенный диапазон значений. Для каждого компонента результата значения, расположенные ниже определенного диапазона, становятся равными его минимальному значению, значения, расположенные выше диапазона, становятся равными его максимальному значению, а значения, лежащие внутри диапазона, не изменяются. Вход:
Выходные данные:
|
|
Cos |
Вычисляет косинус (в радианах) заданных входных данных для каждого компонента. Для каждого компонента результата вычисляется косинус соответствующего компонента, представленного в радианах. Результат содержит компоненты, значения которых лежат в диапазоне [-1, 1]. Вход:
Выходные данные:
|
Нет |
, разделяемый |
Вычисляет перекрестное произведение заданных трехкомпонентных векторов. Векторное произведение можно использовать для вычисления нормали к поверхности, определяемой двумя векторами. Вход:
Выходные данные:
|
Нет |
Расстояние |
Вычисляет расстояние между указанными точками. В результате получается положительное скалярное значение. Вход:
Выходные данные:
|
Нет |
Divide |
Вычисляет покомпонентное частное двух заданных входных значений. Каждый компонент результата получается делением соответствующего компонента входного значения X на соответствующий компонент второго входного значения Y. Вход:
Выходные данные:
|
Нет |
Точка |
Вычисляет скалярное произведение указанных векторов. В результате получается скалярное значение. Скалярное произведение можно использовать для определения угла между двумя векторами. Вход:
Выходные данные:
|
Нет |
Floor |
Вычисляет нижнюю целую часть числа заданных входных данных для каждого компонента. Каждый компонент результата представляет собой наибольшее целое число, которое меньше соответствующего компонента входного значения или равно ему. Каждый компонент результата является целым числом. Вход:
Выходные данные:
|
Нет |
Fmod |
Вычисляет покомпонентный модуль (остаток) заданных входных данных. Каждый компонент результата равен остатку, получающемуся после вычитания некоторого целочисленного кратного числа (m) соответствующего компонента входного значения Y из соответствующего компонента входного значения X. Кратное число m выбирается таким образом, чтобы остаток был меньше соответствующего компонента входного значения Y и имел один знак с соответствующим компонентом входного значения X. Например, результат fmod(-3.14, 1.5) равен -0,14. Вход:
Выходные данные:
|
Нет |
Frac |
Удаляет целочисленную часть заданного входа для каждого компонента. Для каждого компонента результата удаляется целочисленная часть соответствующего компонента входного значения с сохранением дробной части и знака. Это дробное значение находится в диапазоне [0, 1). Например, значение -3,14 преобразуется в значение -0,14. Вход:
Выходные данные:
|
Нет |
Lerp |
Линейная интерполяция. Вычисляет покомпонентное взвешенное среднее заданных входных данных. Каждый компонент результата равен средневзвешенному значению соответствующих компонентов входных значений X и Y. В качестве веса используется скалярное значение Percent, которое одинаково применяется ко всем компонентам. Эту функцию можно использовать для интерполяции точек, цветов, атрибутов и других значений. Вход:
Выходные данные:
|
Нет |
Multiply Add |
Вычисляет покомпонентный результат операции умножения-сложения заданных входных данных. Каждый компонент результата представляет собой сумму произведения соответствующих компонентов входных значений M и A с соответствующим компонентом входного значения B. Эта последовательность операций часто используется в общих формулах, например для определения прямой по точке и углу наклона или для масштабирования и последующего смещения входного значения. Вход:
Выходные данные:
|
Нет |
Максимум |
Вычисляет покомпонентное максимальное значение заданных входных данных. Каждый компонент результата равен большему из двух соответствующих компонентов входных значений. Вход:
Выходные данные:
|
Нет |
Минимум |
Вычисляет покомпонентное минимальное значение заданных входных данных. Каждый компонент результата равен меньшему из двух соответствующих компонентов входных значений. Вход:
Выходные данные:
|
Нет |
Multiply |
Вычисляет покомпонентное произведение заданных входных данных. Каждый компонент результата получается умножением соответствующих компонентов входных значений X и Y. Вход:
Выходные данные:
|
Нет |
Normalize |
Нормализует заданный вектор. Нормализованный вектор сохраняет направление исходного вектора, но не его модуль. Нормализованные векторы можно использовать для упрощения вычислений в ситуациях, когда модуль вектора не имеет значения. Вход:
Выходные данные:
|
Нет |
Минус единица |
Вычисляет разность между 1 и указанным входным значением для каждого компонента. Для каждого компонента результата соответствующий компонент входного значения вычитается из значения 1. Вход:
Выходные данные:
|
Нет |
Степень |
Вычисляет покомпонентное значение возведения в степень заданных входных данных. Для каждого компонента результата соответствующий компонент входного значения X возводится в степень соответствующего компонента входного значения Y. Вход:
Выходные данные:
|
Нет |
Saturate |
Изменяет все компоненты заданных входных данных, чтобы они попадали в диапазон значений [0, 1]. Этот диапазон можно использовать для представления процентов и других относительных измерений в вычислениях. Для каждого компонента результата значения соответствующего компонента входного значения, меньшие 0, становятся равными 0, значения, которые больше 1, становятся равными 1, а значения, лежащие в этом диапазоне, не изменяются. Вход:
Выходные данные:
|
Нет |
Sin |
Вычисляет синус (в радианах) заданных входных данных для каждого компонента. Для каждого компонента результата вычисляется синус соответствующего компонента, представленного в радианах. Результат содержит компоненты, значения которых лежат в диапазоне [-1, 1]. Вход:
Выходные данные:
|
Нет |
Sqrt |
Вычисляет квадратный корень заданных входных данных для каждого компонента. Каждый компонент результата равен квадратному корню из соответствующего компонента входного значения. Вход:
Выходные данные:
|
Нет |
Subtract |
Вычисляет покомпонентную разность заданных входных данных. Каждый компонент результата получается вычитанием соответствующего компонента входного значения Y из соответствующего компонента входного значения X. Эту функцию можно использовать для построения вектора из первого входного значения до второго входного значения. Вход:
Выходные данные:
|
Нет |
3D-вектор преобразования |
Преобразует указанный трехмерный вектор в другое пространство. Эту функцию можно использовать для переноса точек или векторов в общее пространство, после чего с ними можно производить осмысленные вычисления. Вход:
Выходные данные:
|
|