Трехмерная компьютерная графика 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Трехмерная компьютерная графика



Трехмерная компьютерная графика (3D computer graphics) — разновидность графического искусства, использующего для соз­дания своих произведений компьютеры и соответствующее про­граммное обеспечение (рис. 3.25). Термин может относиться как к процессу создания таких графических образов, так и к науч­ным исследованиям в области компьютерных графических мето­дов и соответствующих технологий.

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

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

В программном обеспечении машинной графики часто исче­зает грань между двух- и трехмерным, поскольку двумерные приложения могут использовать трехмерные алгоритмы, чтобы, например, описать эффекты освещения, и наоборот.

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

• создание содержания (трехмерное моделирование, текстурирование, анимация);

• конфигурирование сцены;

• рендеринг (представление)

Во многих случаях между этими фазами нет строгого разли­чия, моделирование может оказаться частью процесса создания сцены (например, в таких программах, как Caligari trueSpace и Rcalsoft 3D) и т. д.

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

Стадия моделирования состоит в формировании индивидуальных объектов, которые затем размещаются на сцене. Известен ряд методов моделирования, в том числе:

• стереометрия твердых тел;

• использование В-сплайнов;

• аппроксимация многоугольниками.

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

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

Моделирование может быть выполнено как посредством специализированных программ (например, Lightwave Modeler, Moray, Cinema 4D, Rhinoceros 3D, см. рис. 3.20,) или прикладных компонент (Shaper, Loftеr in 3D Studio), так и с использова­нием некоторого языка описания сцен (типа POV-Ray).

Формирование сцены

Установка сцены. Формирование сцены предполагает разме­щение в пространстве виртуальных объектов, средств освещения, съемочных камер и других объектов, которые будут в последующем использоваться для создания неподвижных или анимированных изображений. Если речь идет об анимации, на фазе часто используется метод ключевых кадров (keyframing), который облегчает моделирование сложного движения в сцене. Ключевые кадры задают при анимации некоторые обязательные промежуточные положения объектов в сцене, перемещения/изменения между которыми (смещение, вращение, масштабирование) реализуются путем интерполяционных вычислений.

Важным аспектом установки сцены является освещение (подсветка). Так же как и в реальных съемках сцен, освещение — существенный фактор эстетического и визуального качества ре­зультата. Это достаточно сложное искусство и эффекты освеще­ния могут существенно повлиять на настроение и эмоциональ­ную окраску сцены — факт, хорошо известный фотографам и те­атральным режиссерам. Конечно, важнейшую роль играет размещение точек наблюдения (виртуальных фото- и видеока­мер) при «съемке» сцены (своего рода операторское искусство).

Каркасное моделирование и создание сеток. Процесс преобра­зования математических описаний объектов (например, сфера может быть задана ее центром и радиусом) в представлении по­верхности сферы как многогранника, называется каркасным моделированием (tessellation, «составление мозаики», «мо­щение»). Этот шаг используется при представлении на основе многоугольников, когда объекты преобразуются из представле­ний абстрактными «примитивами» (сферы, конусы и т. д.) в так называемые «сетки» (meshes), являющиеся сетями связанных треугольников. Сетки треугольников (вместо, например, квадра­тов) более популярны, поскольку они оказываются гораздо удоб­нее при преобразовании изображения в растровую форму.

Рендеринг

Rendering — окончательная компиляция изображения. На этапе рендеринга, выполняемого 3D-акселератором, осуществ­ляется построение растрового изображения (пикселей). Узкое место — доступ к памяти (необходимо быстро считывать пиксе­ли и передавать в буфер кадра/экрана). Изображение каждого кадра (сцены) составляют тысячи многоугольников и они долж­ны быть обновлены и переданы через память, по крайней мере 30 раз в секунду, чтобы создать иллюзию движения. Из буфера кадры передаются в RAMDAC (ЦАП) и преобразуются в анало­говый сигнал для монитора.

Процесс рендеринга предполагает использование различных 3D-методов:

• текстурирование, отображение текстур (texture mapping) – технология детализации 3D-изображения, которая лучше всего может быть представлена как обтягивание некоего трехмерного каркаса окрашенной бумагой (конечно, дву­мерной). Это трудоемкий процесс, который должен быть выполнен не только для каждого пикселя изображения, но и для каждого элемента текстуры (текселя, texel). Могут ис­пользоваться разные текстуры (мультитекстурирование, multitexturing);

• сжатое текстурирование (mip mapping, mip-отображение) — форма сокращения объема данных, при которой создается большее количество текселей, без выполнения эквивалент­ного необходимого числа вычислений. Если сжатие состав­ляет 1: 4, то считывание одного текселя эквивалентно пе­редаче четырех текселей первоначальной структуры. Если использованы надлежащие фильтры, качество изображения может даже повыситься, поскольку при этом сглаживаются зубчатые грани;

• билинейная фильтрация (bi-linear filtering) — считывание четверок текселей, усреднение их характеристик и исполь­зование представленного результата как единственного текселя. В результате выравнивается фактура близлежащих участков, изображение сглаживается и уменьшается пикселизация (blocky, pixelated appearance). Билинейная фильт­рация является в настоящее время стандартом для боль­шинства графических карт;

• Z-буферизация (Z-buffering) — метод вычисления пиксе­лей, которые следует загрузить в буфер экрана (память, хранящая данные, которые должны быть немедленно выве­дены). Обычные 3D-акселераторы берут один пиксель, рас­считывают его и переходят к следующему. Проблема состо­ит в том, что акселератор не имеет возможностей «узнать», Должен ли рассчитываемый пиксель быть показан немед­ленно или же позже. Z-буферизация вычисляет и приписы­вает каждому пикселю некоторый вес «Z». Чем меньше значение Z, тем раньше данный пиксель должен быть вы­веден на экран;

• сглаживание (anti-aliasing) — технология снижения «шу­мов», присутствующих в изображении. Например, если объект находится в движении, необходим большой инфор­мационный поток, отражающий изменение положения, Цвета, размера и т. д. Иногда процессор не успевает обработать всю информацию и тогда некоторые места заполня-ются бессмысленным шумом. Сглаживание наряду mip-отображением удаляет этот шум;

• закраска/штриховка Гуро (Gouraud shading) применяет тени к поверхности объектов, заставляет их выглядеть бо­лее объемно. Алгоритм определяет цвета смежных много­угольников и вычисляет гладкий переход между ними, что гарантирует отсутствие резких цветовых переходов в окра­ске объекта;

• отображение выпуклостей/неровностей (bump mapping) создает иллюзию объемных углублений на плоской поверх­ности (шершавые стены, бурное море и пр.).

Моделирование эффектов в рендеринге. Рендеринг является одной из важнейших дисциплин трехмерной компьютерной гра­фики. В графическом конвейере — последний важный шаг, даю­щий окончательное представление модели или анимации.

Используется в компьютерных и видеоиграх, тренажерах, спецэффектах кино и телевидения, системах автоматизации про­ектирования (САПР), в каждом случае — на основе специфиче­ских технологий и методик. Доступен широкий спектр про­граммных продуктов-рендеров (renderers) — либо встроенных в большие программы моделирования/анимации, либо отдельные проекты. По своей внутренней структуре, рендерер — тщательно проработанная программа, основанная на широком спектре на­учных дисциплин, которые связаны с физикой, оптикой, теори­ей визуального восприятия, математикой и программированием.

Построенное изображение может иметь множество видимых особенностей и эффектов. Исследования и разработки в области рендеринга в основном мотивировались необходимостью их мо­делирования — некоторых отдельными алгоритмами и метода­ми, а других — в комплексе. В табл. 3.9 приведены основные эф­фекты и особенности, моделируемые в процессе рендеринга.

Были исследованы многие алгоритмы рендеринга, и разрабо­танное программное обеспечение может использовать множест­во различных методов, чтобы получить заключительное изобра­жение.

Прослеживание каждого луча света в сцене — непрактично и слишком трудоемко. Даже рассмотрение части, достаточно боль­шой, чтобы производить изображение, потребует чрезмерного времени, если выборка разумно не ограничена.

В итоге были выделены четыре группы методов эффективно­го моделирования процессов прохождения света (табл. 3.10).

Большинство средств расширенного программного обеспечения комбинирует два или больше методов, чтобы получить достаточно хорошие результаты при разумных затратах.



Поделиться:


Последнее изменение этой страницы: 2021-04-05; просмотров: 83; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.153.38 (0.011 с.)