Тени - такая простая и незамысловатая, можно сказать, вездесущая вещь в реальном мире, нечто само собой разумеющееся и потому не слишком обращающее на себя внимание. Но для тех, кто занимается компьютерной анимацией, - это вечная головная боль. Все дело в реализме.
С точки зрения математики, любая тень - очень сложное явление. Помимо размеров и формы предмета, а также расстояния от поверхности, на которую он отбрасывает тень, необходимо учитывать, как падает свет, какова его интенсивность - ну и так далее, и так далее.
А в случае с анимацией, когда все пребывает в движении, добиться реализма в сто раз сложнее.
Для создания реалистичных теней в компьютерной анимации Голливуд расходует колоссальные вычислительные мощности - и огромное количество времени.
Между тем в университете штата Огайо (Ohio State University ( http://www.osu.edu)) разработаны алгоритмы, которые, будучи не слишком ресурсоемкими, позволяют достигнуть почти голливудского уровня реалистичности при создании теней от сложных и полупрозрачных объектов и жидкостей.
Главными действующими лицами выступили профессор Роджер Кроуфис (Roger Crawfis) и докторант вышеупомянутого университета Цай-Ся Чжан (Caixia Zhang). Собственно, визуализация теней объемных полупрозрачных объектов - это была ее тема диссертации.
Результаты работы и описание разработанных ими алгоритмов были опубликованы в номере журнала IEEE Transactions on Visualization and Computer Graphics ( http://www.computer.org/tvcg/) за апрель-июнь.
Уникальность алгоритмов, по словам самой Чжан, состоит в том, что при их небольшой ресурсоемкости, они позволяют визуализировать мягкие тени, учитывая такие факторы, как, например, снижение интенсивности света при его прохождении через полупрозрачный объект.
Любое изображение объемного предмета на экране - это именно изображение, его проекция. На компьютерном экране мы видим только плоские "имитации" объемных предметов.
Обычный метод для создания такой имитации - это отслеживание предполагаемой линии взгляда зрителя на объект с последующим формированием соответствующего изображения.
Алгоритмы Чжан базируются на другом методе, называемом сплаттингом (splatting). Это вычисление формы "отпечатка" точки на плоскости экрана.
Название "Splatting" (от splat - звук шлепка), придумали программисты, которым показалось, что такой метод напоминает швыряние снежками в какую-нибудь доску.
Объемный объект условно разделяется на "воксели" - трехмерные точки (пиксели), и плоский отпечаток каждой из них на плоскости экрана именуется "сплатом".
Благодаря этому системе необходимо высчитывать только те точки, которые обращены к экрану, благодаря чему ресурсоемкость созданных Чжан алгоритмов окажется значительно меньшей.
Со своей стороны, профессор Кроуфис охарактеризовал эти алгоритмы как промежуточное звено между дешевыми анимационными программами и профессиональными пакетами, вроде тех, которыми пользуются в Голливуде.
"Конечной целью являются сверхточные, сверхбыстрые системы рендеринга, потребляющие небольшое количество памяти", - заявил Кроуфис, добавив, что работа Чжан - шаг именно в этом направлении.
По его словам, Голливуд тратит по часу на каждый кадр, в то время, как эти кадры в итоге мелькают со скоростью 30 штук в секунду. Алгоритмы Чжан помогли бы и время сэкономить, и силы поберечь, и в итоге получить не менее реалистичные изображения.
Кстати, алгоритмы эти можно было бы использовать не только для создания анимации. Еще одной сферой применения могли бы стать программы - симуляторы для хирургов, или средства визуализации массивов данных для других ученых. Например, моделирование климата.
Кроме того, эти алгоритмы могли бы взять на вооружение создатели компьютерных игр, сообщает "MEMBRANA".