Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Трехмерная графика и анимация

.doc
Скачиваний:
28
Добавлен:
15.03.2015
Размер:
44.54 Кб
Скачать

Трехмерная графика и анимация.

Трёхмерная графика — раздел компьютерной графики, совокупность приемов и инструментов (как программных, так и аппаратных), предназначенных для изображения объёмных объектов. Больше всего применяется для создания изображений на плоскости экрана или листа печатной продукции в архитектурной визуализации, кинематографе, телевидении, компьютерных играх, печатной продукции, а также в науке и промышленности.

Трёхмерное изображение на плоскости отличается от двумерного тем, что включает построение геометрической проекции трёхмерной модели сцены на плоскость (например, экран компьютера) с помощью специализированных программ. При этом модель может как соответствовать объектам из реального мира (автомобили, здания, ураган, астероид), так и быть полностью абстрактной (проекция четырёхмерного фрактала).

Для получения трёхмерного изображения на плоскости требуются следующие шаги:

  • моделирование — создание трёхмерной математической модели сцены и объектов в ней;

  • рендеринг (визуализация) — построение проекции в соответствии с выбранной физической моделью;

  • вывод полученного изображения на устройство вывода — дисплей или принтер.

Однако, в связи с попытками создания 3D-дисплеев и 3D-принтеров, трёхмерная графика не обязательно включает в себя проецирование на плоскость.

Сцена (виртуальное пространство моделирования) включает в себя несколько категорий объектов.

  • Геометрия (построенная с помощью различных техник модель, например здание)

  • Материалы (информация о визуальных свойствах модели, например цвет стен и отражающая/преломляющая способность окон)

  • Источники света (настройки направления, мощности, спектра освещения)

  • Виртуальные камеры (выбор точки и угла построения проекции)

  • Силы и воздействия (настройки динамических искажений объектов, применяется в основном в анимации)

  • Дополнительные эффекты (объекты, имитирующие атмосферные явления: свет в тумане, облака, пламя и пр.).

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

На этапе рендеринга математическая (векторная) пространственная модель превращается в плоскую (растровую) картинку. Если требуется создать фильм, то рендерится последовательность таких картинок — кадров. Как структура данных, изображение на экране представлено матрицей точек, где каждая точка определена по крайней мере тремя числами: интенсивностью красного, синего и зелёного цвета. Таким образом рендеринг преобразует трёхмерную векторную структуру данных в плоскую матрицу пикселов. Этот шаг часто требует очень сложных вычислений, особенно если требуется создать иллюзию реальности. Самый простой вид рендеринга — это построить контуры моделей на экране компьютера с помощью проекции, как показано выше. Обычно этого недостаточно и нужно создать иллюзию материалов, из которых изготовлены объекты, а также рассчитать искажения этих объектов за счёт прозрачных сред (например, жидкости в стакане).

Существует несколько технологий рендеринга, часто комбинируемых вместе. Например:

Z-буфер (используется в OpenGL и DirectX 10);

Сканлайн (scanline) — он же Ray casting («бросание луча», упрощенный алгоритм обратной трассировки лучей) — расчёт цвета каждой точки картинки построением луча из точки зрения наблюдателя через воображаемое отверстие в экране на месте этого пиксела «в сцену» до пересечения с первой поверхностью. Цвет пиксела будет таким же, как цвет этой поверхности (иногда с учётом освещения и т. д.);

Трассировка лучей (рейтрейсинг, англ. raytracing) — то же, что и сканлайн, но цвет пиксела уточняется за счёт построения дополнительных лучей (отражённых, преломлённых и т. д.) от точки пересечения луча взгляда. Несмотря на название, применяется только обратная трассировка лучей (то есть как раз от наблюдателя к источнику света), прямая крайне неэффективна и потребляет слишком много ресурсов для получения качественной картинки;

Глобальное освещение (англ. global illumination, radiosity) — расчёт взаимодействия поверхностей и сред в видимом спектре излучения с помощью интегральных уравнений.

Грань между алгоритмами трассировки лучей в настоящее время практически стёрлась. Так, в 3D Studio Max стандартный визуализатор называется Default scanline renderer, но он считает не только вклад диффузного, отражённого и собственного (цвета самосвечения) света, но и сглаженные тени. По этой причине, чаще понятие Raycasting относится к обратной трассировке лучей, а Raytracing — к прямой.

Вследствие большого объёма однотипных вычислений рендеринг можно разбивать на потоки (распараллеливать). Поэтому для рендеринга весьма актуально использование многопроцессорных систем. В последнее время активно ведётся разработка систем рендеринга использующих GPU вместо CPU, и уже сегодня их эффективность для таких вычислений намного выше.

Многие производители систем рендеринга для CPU также планируют ввести поддержку GPU (LuxRender, YafaRay, mental images iray).

Самые передовые достижения и идеи трёхмерной графики (и компьютерной графики вообще) докладываются и обсуждаются на ежегодном симпозиуме SIGGRAPH, традиционно проводимом в США.

Ниже рассматриваются наиболее распространенные пакеты трехмерного моделирования.

3D Studio Max от компании Discreet является одной из наиболее популярных 3D программ среди любителей и доминирует в индустрии разработки видеоигр, используется для создания антуража и моделей для игр. Некоторые компании пользуются этим продуктом в производстве, как фильмов, так и телепрограмм. Max предоставляет удобное моделирование, анимацию и рендеринг в одном, хотя большая часть мощностей системы приходится на рынок плагинов и дополнений, доступных для него.

Realsoft 3D от компании Realsoft Graphics Oy – это мощная система 3D анимации и симуляции, обладающая очень высоким качеством изображения наряду с высокой производительностью. В настоящее время эта система широко применяется при создании рекламных роликов и музыкальных клипов, в полиграфии и в промышленном проектировании, а также во многих других областях, где требуется высокое качество изображения. Благодаря встроенному языку для создания шейдеров Visual Shading Language (VSL), который является расширением известного «C»-подобного языка Renderman Shading Language (RSL), применяемого в RenderMan, можно получить качественное фотореалистичное конечное изображение.

Maya от компании AliasWavefront, принадлежащей Silicon Graphics Inc., является сегодняшним лидером среди программного обеспечения для high-end 3D анимации, и стал лидирующим пакетом для анимации персонажей в художественных фильмах. Maya имеет внушительную и разностороннюю систему моделирования, мощную анимацию персонажей и большие способности по созданию визуальных эффектов. Это исключительно глубокий и расширяемый пакет с сильной ассоциативностью. В то время как Maya является большим, сложным для изучения пакетом, он имеет усовершенствованный интерфейс, представленный кистеподобными инструментами Artisan, которые позволяют формировать и редактировать объекты в ходе интерактивного процесса, напоминающего рисование, инструменты Paint Effects, которые позволяют нарисовать траву, деревья и другие элементы в 3D пространстве в виде визуализируемых «мазков кисти». Динамическая имитация твердых тел, тел переменной формы, одежды, волос, в сочетании с мощным языком сценариев, сделали Maya великим инструментом визуальных эффектов.

Lightwave 3D от компании Newtek – это популярный и легкий в использовании продукт, широко применяемый в производстве видео- и телепродукции. Lightwave содержит мощную систему полигонального моделирования, которая также создает основанные на полигонах поверхности подразделения (polygon-based subdivision), которым фирма Newtek дала имя «MetaNURBS». Хотя моделированию недостает ассоциативности, что соответственно приводит к замедлению некоторых типов проверок и не позволяет создавать длительную историю отката, моделирование неплохо работает и является простым для изучения, а опытные пользователи могут достичь с его помощью высокого качества продукции.

Poser от компании Curious Labs – это программа для создания и анимирования моделей людей. Poser Pro Pack, как и сам по себе Poser, обладает превосходным интерфейсом, что делает работу в нем легкой и приятной. Функции программы мощны, хотя поддержка моделей с очень большим числом полигонов немного отстает от остальных. Тем не менее, это великолепный инструмент для дизайнеров компьютерной графики, желающих создавать анимации во Flash (или других форматах). Poser Pro Pack расширяет Poser намного далее его первоначального предназначения в качестве построителя поз для предопределенных 3D персонажей. Его «Комната настройки» («Setup Room») позволяет добавлять скелет к моделям, созданным чуть ли не в любой 3D программе с необычайной легкостью и дает возможность экспортировать их в разнообразные форматы, включая Flash. Экспортированные образцы могут быть отрендерены во множестве стилей, от мультипликационной заштриховки до изображений с наложенной текстурой.