5.9. Функции шума Функции шума (табл. 5.9) можно применять как для вершинных, так и для фрагментных шейдеров. Эти вероятностные (стохастические) функции, когда-то описанные Кеном Перлином, могут быть использованы для визуального увеличения сложности. Значения этих функций придают изображению эффект случайности, но они не случайные по-настоящему. Более полное описание и назначение этих функций можно найти в главе 12,
'5Л0. Итоги Таблица 5.9. Функции шума Синтаксис Описание
float noisel (float х) float rtoisel (vec2 x) Возвращает значение шума для одномерной float noisel (гесЗ х) float noisel (vec4 x) координаты, основанное на входном значении a-
vec2 noise2 (float x) vec2 noise2 (vec2 x) vec2 noise2 (vec3 x) vec2 noise2 (vec4 a)
vec3 noise3 (float x) vec3 noise3 (vec2 x) vec3 noise3 (vec3 x) vec3 noise3 (vec4 x)
vec4 noise4 (float x) vec4 noise4 (vec2 x) vec4 noise4 (vec3 x) vec4 noise4 (vec4 x)
Возвращает значение шума для двухмерной координаты, основанное на входном значении х
Возвращает значение шума для трехмерной координаты, основанное на входном значении х
Возвращает значение шума для четырехмерной координаты, основанное на входном значении х
Встроенные функции шума подчиняются следующим правилам:
□ Возвращаемые значения всегда находятся в диапазоне [-1, 1].
Р Среднее значение результатов некоторого количества вызовов функции должно приближаться к 0.
В Возвращаемые значения воспроизводимы, то есть при заданном входном значении всегда получается одно и то же выходное значение.
О Возвращаемые значения статистически инвариантны к вращению (не важно, как будет вращаться область, значения имеют такой же статистический характер).
□ Возвращаемые значения статистически инвариантны к преобразованиям (не важно, как будет преобразовываться область, значения имеют такой же статистический характер),
□ Обычно после преобразования возвращаемые значения изменяются.
□ У функций есть узкое ограничение по частоте (нет видимых элементов, которые выделялись бы сильно в большую или меньшую сторону, выходя за какой-то узкий диапазон).