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

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

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

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

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

Наиболее популярными универсальными пакетами 3D графики являются:

  • Autodesk 3DS Max
  • Autodesk Maya
  • Autodesk Softimage
  • Maxon Computer Cinema 4D
  • Blender Foundation Blender
  • Side Effects Software Houdini
  • Luxology Modo
  • NewTek LightWave 3D
  • Caligari Truespace

 Моделирование

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

  • Геометрия (построенная с помощью различных техник модель, например здание)
  • Материалы (информация о визуальных свойствах модели, например цвет стен и отражающая/преломляющая способность окон)
  • Источники света (настройки направления, мощности, спектра освещения)
  • Виртуальные камеры (выбор точки и угла построения проекции)
  • Силы и воздействия (настройки динамических искажений объектов, применяется в основном в анимации)
  • Дополнительные эффекты (объекты, имитирующие атмосферные явления: свет в тумане, облака, пламя и пр.)

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

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

  • Pixologic Zbrush
  • Autodesk Mudbox
  • Robert McNeel & Assoc. Rhinoceros 3D
  • Google SketchUp

Назначение материалов

Для сенсора реальной фотокамеры материалы объектов реального мира отличаются по признаку того, как они отражают, пропускают и рассеивают свет. Виртуальным материалам задается соответствие свойств реальных материалов – прозрачность, отражения, рассеивания света, шероховатость, рельеф и пр.

Текстурирование

Текстурирование подразумевает проецирование растровых или процедурных текстур на поверхности трехмерного объекта в соответствии с картой UV-координат, где каждой вершине объекта ставится в соответствие определенная координата на двухмерном пространстве текстуры. Как правило, многофункциональные редакторы UV-координат входят в состав универсальных пакетов трехмерной графики. Существуют также автономные и подключаемые редакторы от независимых разработчиков, например Unfold3D magic, Deep UV, Unwrella и др.

 Освещение

Заключается в создании, направлении и настройке виртуальных источников света. При этом, в виртуальном мире источники света могут иметь негативную интенсивность, отбирая свет из зоны своего “отрицательного освещения”. Как правило, пакеты 3D графики предоставляют следующие типы источников освещения:

  • Omni light (Point light) – всенаправленный
  • Spot light – конический (прожектор), источник расходящихся лучей
  • Directional light – источник параллельных лучей
  • Area light (Plane light) – световой портал, излучающий свет из плоскости
  • Photometric – источники света, моделируемые по параметрам яркости свечения в физически измеримых единицах, с заданной температурой накала

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

Анимация

Одно из главных призваний трехмерной графики – создание движения трехмерной модели, либо имитация движения среди трехмерных объектов. Универсальные пакеты трехмерной графики обладают весьма богатыми возможностями по созданию анимации. Существуют также узкоспециализированные программы, созданные сугубо для анимации и обладающие очень ограниченным набором инструментов моделирования:

  • Autodesk Motionbuilder
  • PMG Messiah Studio

Рендеринг

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

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

  • Z-буфер (используется в OpenGL и DirectX 10);
  • Сканлайн (scanline) — он же Ray casting («бросание луча», упрощенный алгоритм обратной трассировки лучей) — расчёт цвета каждой точки картинки построением луча из точки зрения наблюдателя через воображаемое отверстие в экране на месте этого пиксела «в сцену» до пересечения с первой поверхностью. Цвет пиксела будет таким же, как цвет этой поверхности (иногда с учётом освещения и т. д.);
  • Трассировка лучей ( raytracing) — то же, что и сканлайн, но цвет пиксела уточняется за счёт построения дополнительных лучей (отражённых, преломлённых и т. д.) от точки пересечения луча взгляда. Несмотря на название, применяется только обратная трассировка лучей (то есть как раз от наблюдателя к источнику света), прямая крайне неэффективна и потребляет слишком много ресурсов для получения качественной картинки;
  • Глобальное освещение (global illumination, radiosity) — расчёт взаимодействия поверхностей и сред в видимом спектре излучения с помощью интегральных уравнений.

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

Наиболее популярными системами рендеринга являются:

  • PhotoRealistic RenderMan (PRMan)
  • mental ray
  • V-Ray
  • FinalRender
  • Brazil R/S
  • BusyRay
  • Turtle
  • Maxwell Render
  • Fryrender
  • Indigo Renderer
  • LuxRender
  • YafaRay
  • POV-Ray

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

  • Refractive Software Octane Render
  • AAA studio FurryBall
  • RandomControl ARION (гибридная)

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

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

Программное обеспечение

Программные пакеты, позволяющие создавать трёхмерную графику, то есть моделировать объекты виртуальной реальности и создавать на основе этих моделей изображения, очень разнообразны. Последние годы устойчивыми лидерами в этой области являются коммерческие продукты: такие как 3D Studio Max, Maya, Lightwave 3D, Softimage, Sidefx Houdini, Maxon Cinema 4D и сравнительно новые Rhinoceros 3D, Nevercenter Silo или ZBrush. Кроме того, существуют и открытые продукты, распространяемые свободно, например, пакет Blender (позволяет создавать 3D модели, c последующим рендерингом (компьютерной визуализацией)), K-3D и Wings3D.

SketchUp

Бесплатная программа SketchUp позволяет создавать модели, совместимые с географическими ландшафтами ресурса Google Планета Земля, а также просматривать в интерактивном режиме на компьютере пользователя несколько тысяч архитектурных моделей, которые выложены на бесплатном постоянно пополняемом ресурсе Google Cities in Development (выдающиеся здания мира), созданные сообществом пользователей.

Трехмерная графика активно применяется в системах автоматизации проектных работ (САПР) для создания твердотельных элементов: зданий, деталей машин, механизмов, а также в архитектурной визуализации (сюда относится и так называемая «виртуальная археология»). Широко применяется 3D графика и в современных системах медицинской визуализации.

 Связь с физическим представлением трехмерных объектов

Трёхмерная графика обычно имеет дело с виртуальным, воображаемым трёхмерным пространством, которое отображается на плоской, двухмерной поверхности дисплея или листа бумаги. В настоящее время известно несколько способов отображения трехмерной информации в объемном виде, хотя большинство из них представляет объемные характеристики весьма условно, поскольку работают со стереоизображением. Из этой области можно отметить стереоочки, виртуальные шлемы, 3D-дисплеи, способные демонстрировать трехмерное изображение. Несколько производителей продемонстрировали готовые к серийному производству трехмерные дисплеи. Но чтобы насладиться объемной картинкой, зрителю необходимо расположиться строго по центру. Шаг вправо, шаг влево, равно как и неосторожный поворот головы, карается превращением трехмерности в несимпатичное зазубренное изображение. Решение этой проблемы уже созрело в научных лабораториях. Германский Институт Фраунгофера демонстрировал 3D-дисплей, при помощи двух камер отслеживающий положение глаз зрителя и соответствующим образом подстраивающий изображение, в этом году пошёл ещё дальше. Теперь отслеживается положение не только глаз, но и пальца, которым можно «нажимать» трехмерные кнопки. А команда исследователей Токийского Университета создали систему позволяющую почувствовать изображение. Излучатель фокусируется на точке где находится палец человека и в зависимости от его положения меняет силу акустического давления. Таким образом, становится возможным не только видеть объемную картинку, но и взаимодействовать с изображенными на ней предметами.

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

Развивающиеся с 1990-х годов технологии быстрого прототипирования ликвидируют этот пробел. Следует заметить, что в технологиях быстрого прототипирования используется представление математической модели объекта в виде твердого тела (воксельная модель).

Понравилось? Поделись с друзьями!