Эту проблему пытался решить Кен Перлин (Ken Perlin), когда работал в компании Magi в начале 80-х гг. Magi и компания Disney в то время работали над художественным фильмом «Трон». Перлин заметил «несовершенство» идеально закрашенных объектов в фильме и попытался разрешить эту проблему.

В 1985 г. Перлин опубликовал содержащую интересные идеи статью, в которой описал свою программу для рендеринга. В ней использовалась технология, названная Перлином шум. Его определение шума немного отличается оттого, что обычно называется этим термином. Обычно, когда говорится про шум, то подразумевается нечто вроде случайного набора пикселов на телевизионном экране при отсутствии сигнала (так называемый «снег») или радиопомех на частоте, которая не используется ни одной ближайшей станцией.

Но такая действительно случайная функция не годится для компьютерной графики. Нужна функция с повторениями, позволяющая рисовать объект с разных углов обзора. Бывает необходимо также рисовать объект одним и тем же способом кадр за кадром, создавая иллюзию движения. По-настоящему случайные функции не зависят от входных значений, поэтому объект будет выглядеть по-разному при каждой перерисовке, а когда объект на экране движется, это выглядит некрасиво. Здесь нужна функция, которая всегда будет выдавать одно и то же выходное значение для каждого входного значения, но в то же время создавать иллюзию случайности. Эта функция должна быть непрерывной на всех уровнях детализации.

Перлин первым разработал такую функцию, С тех пор создано множество похожих функций шума, которые используются совместно для получения различных эффектов визуализации, например:

□ рендеринга природных явлений (облака, огонь, дым, ветер и т. д.);

□ рендеринга природных материалов (мрамор, гранит, дерево, горы и т. д.);

□ рендеринга произведенных человеком материалов (штукатурка, асфальт, цемент и т. д.);

12.1. Определение шума

'□ наложения неоднородностей на идеальные модели (ржавчина, грязь, пятна, выбоины и т. д.);


⇐ Предыдущая| |Следующая ⇒