□ наложения неоднородностей на идеальные шаблоны (волны, бугорки, переход цвета и т. д.);
□ наложения неоднородностей на периоды времени (период мерцания, время между сменой кадров и т. д.);
□ наложения неоднородностей на движение (колебания, дрожание, тряска и т. д.). Вообще-то этот список можно продолжать до бесконечности. Но большинство современных библиотек для рендеринга включает поддержку для шума Берлина или эквивалентных функций. Эти функции - основа реалистичного рендеринга, и сейчас, они очень широко используются в работе с компьютерными изображениями, особенно при производстве фильмов. Кен Перлин проделал значительную работу в этой области, и в 1997 г. ему вручили премию «Оскар» за технические достижения в кинематографии.
Так как наложение шума является важной технологией компьютерной графики, в языке тендеров OpenGL для него предусмотрены встроенные функции. Есть несколько способов наложения шума во фрагментном шейдере. После общего описания технологии шума в этой главе будут приведены несколько примеров шейдеров, демонстрирующих, как можно получить интересные эффекты с использованием этой технологии.
12.1. Определение шума Цель этого раздела - не описывать математически функции шума, а дать читателю достаточно информации для понимания шейдеров, использующих шум, и создания новых эффектов на основе этой технологии. Чтобы глубже разобраться в технологии шума, следует обратиться к литературе, ссылки на которую приведены в конце этой главы, особенно к книге [2], в которой обсуждается технология шума, в том числе и самая первая функция шума, созданная К. Перлином. В этой книге Дарвин Пичи (Darwyn Peachey) систематизирует функции шума. Наложение функций шума и различные их сочетания описаны Кеном Масгрейвом (Ken Musgrave) в главе о построении изображений планет процедурно.
Перлин описывает шум как «приправы» для графики. Эти функции помогают добавлять изображению небольшие дефекты, но их влияние на внешний вид объекта не исчерпывается только этим. Идеальная модель должна выглядеть не идеально (иметь погрешности и дефекты) и поэтому более реалистично, так как на нее накладываются едва различимые эффекты шума,