АнимацияО мультфильмеМультипликация

Главная | iClone 3.1

Анимация поддерживает репутацию страны

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

Основной проблемой этого способа является отделение видимых полигонов от невидимых. В первых поколениях такого рода рендереров процесс вычисления полигонов начинался с самой дальней точки от зрителя и каждый новый полигон закрашивал предыдущий. Такой подход далек от идеала из-за множества ненужных операций. Чтобы решить эту проблему используется Z-буфер. Программа вычисляет все полигоны, лежащие на пути воображаемой линии и назначает каждому полигону Z-значение в зависимости от его удаленности от экрана. Когда настает время рендеринга, обсчитываются только полигоны с наименьшим Z-зьа-чением — остальные просто отбрасываются. Такой способ позволяет существенно ускорить процесс рендеринга, но имеет и существенные недостатки, которые будут рассмотрены ниже.

рендеринг

Подобно рендерер начинает с вычис-

ления воображаемой линии от одного пикселя (кроме того, существует инверсный рендеринг, когда вычисления начинаются от источника света и рендеринг использованием обоих принципов). Когда воображаемая линия встречает на своем пути полигон, случаются три вещи. Сначала вычисляется цвет и яркость на основе прямого освещения источниками света, затем вычисляются углы отражения и преломления (reflection/refraction). На основе параметров отражения/преломления данного полиго-налуч раздваивается и двигается по двум новым направлениям. Если любой из этих лучей встретит полигон, он раздваивается снова — и так до определенного момента, когда луч либо уйдет за пределы сцены, либо встретит источник света, либо количество отражений/преломлений достигнет определенного установленного числа (recursion level). Когда все лучи закончат свое движение, вычисляется окончательное значение пикселя.

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

Наверняка вы представляете с какой легкостью такие способы вычислений могут поглотить миллиарды вычислений и занять о гром-

Введение в трехмерный дизайн

23

ное количество времени. Создатели 'гаккхргкдгр^ров обычно дают пользователю возможность точно указать, сколько отражений луча обсчитывать. Иногда пользователь может пользоваться только уже заранее установленными настройками типа good; better; best.

Выгодой такого способа является точность обсчета отражений и преломлений — свет отражается от зеркала либо проходит через воду именно так, как это происходит в реальной жизни. Такой способ рендеринга позволяет точно вычислять тени. Когда луч встречает полигон, программа пытается провести от этого полигона прямой луч к источнику света, если это невозможно — полигон затеняется.

Основные недостатки — огромное число вычислений и исключение из обсчета определенных свойств света (отраженное освещение). В природе нет абсолютно черных теней, т.к. весь мир наполнен отраженным освещением. Многие рендереры пытаются избавиться от этих недостатков двумя путями: они либо добавляют общее освещение (global illumination), которое освещает всю сцену, либо представляют все объекты сцены как отдельные источники света, способные излучать слабый свет.

Ретуширование

Один из наиболее сложных аспектов рендеринга — это алгоритм ретуширования. Разные методы ретуши могут применяться, чтобы увеличить либо качество, либо скорость рендеринга. Мы все знакомы с такими методами как Flat, Phong, Gouraud, но это далеко не все способы имитации вида поверхности. Каждая техника использует разные принципы и выдает разные результаты, каждая техника использует алгоритмы различной сложности.

Все алгоритмы ретуширования пытаются эмулировать то бесконечное число способов, какими луч света реагирует на поверхность в реальном мире. Отражения (reflections), отражение/поглощение света (transmission/absorbtion), рассеивание света (diffraction), преломление света (refraction), смешивание света различных, источников (interference). Проще говоря, алгоритм ретуширования используется для вычисления вида поверхности при разном освещении. Самым простым алгоритмом является Flat shading — одноцветный полигон. Небольшим шагом в сторону улучшения качества работы этого алгоритма является его способность изменять оттенок цвета в зависимости от угла, под которым свет падает на поверхность. Таким образом мы можем произвести простейшую трассировку лучей — проводится воображаемая линия сквозь пиксель экрана пока она не натолкнется на полигон. Затем проводим следующую линию от этого полигона к источнику света и вычисляем получившийся угол. Когда угод вычислен, программа рендерер просто


Предыдущая Следующая
Форум
Союзмультфильм
Актеры кино
История жанра
Гифгалерея
Эмиль Рейно
Обратная связь