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

27.06.2020

Для повышения реалистичности отображения наложенных на полигоны текстур используются различные технологии:

· сглаживания (Anti-aliasing);

· MIP – mapping;

· текстурной фильтрации.

Технология сглаживания (Anti-aliasing)

Anti-aliasing – это технология, использующаяся в обработке изображений с целью устранения эффекта «ступенчатых» краев (Aliasing) объектов. При растровом методе формирования изображения оно состоит из пикселей. Из-за того, что пиксели имеют конечный размер, на краях трехмерных объектов можно различить так называемую лестницу или ступенчатые края. Чтобы минимизировать эффект лестницы проще всего увеличить разрешение экрана, уменьшив тем самым размер пикселей. Но этот путь не всегда возможен. Если избавиться от ступенчатого эффекта за счет повышения разрешения монитора нельзя, можно использовать технологию Anti-aliasing, которая позволяет визуально сгладить эффект лестницы. Наиболее часто используемая для этого техника – это создание плавного перехода от цвета линии или края к цвету фона. Цвет точки, лежащей на границе объектов, определяется как среднее значение цветов двух граничных точек.

Существует несколько базовых технологий Anti-aliasing. Наиболее качественный результат впервые дала технология полноэкранного сглаживания FSAA (Full Screen Anti-Aliasing). В некоторых литературных источниках эта технология носит название SSAA. Суть данной технологии заключается в том, что процессор рассчитывает кадр изображения в гораздо большем разрешении, чем разрешение экрана, а затем при выводе на экран усредняет значения группы пикселей до одного; количество усредненных пикселей соответствует разрешению экрана монитора. Например, если кадр с разрешением 800х600 сглаживается с помощью FSAA, изображение будет рассчитываться в разрешении 1600х1200. При переходе к разрешению монитора цвета четырех рассчитанных точек, соответствующих одному пикселю монитора, усредняются. В результате у всех линий появляются плавные цветовые границы переходов, что визуально устраняет эффект лестницы.

FSAA делает много лишней работы, загружая графический процессор, сглаживая не границы, а изображение целиком, что является его главным недостатком. Для устранения данного недостатка был разработан более экономная технология - MSSA.

Суть технологии MSSA аналогична технологии FSAA, но над пикселями, находящимися внутри полигонов, никаких расчетов не проводится. Для пикселей на границах объектов в зависимости от уровня сглаживания рассчитывается 4 и более дополнительных точек, по которым и определяется итоговый цвет пикселя. Эта технология наиболее распространена в настоящее время.

Известны индивидуальные разработки производителей видеоадаптеров. Например, NVIDIA разработала технологию Coverage Sampling (CSAA), которая поддерживается только видеоадаптерами GeForce, начиная с 8-ой серии (8600 – 8800, 9600 – 9800). Компания ATI ввела в графический процессор R520 и все последующие адаптивное сглаживание ААА (Adaptive Anti-Aliasing).

Технология MIP mapping

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

Например, необходимо изобразить брусчатую мостовую, уходящую вглубь сцены. Если попытаться использовать всего одну текстуру по всей длине, то по мере удаления от точки наблюдения может появиться рябь или просто один сплошной цвет. Дело в том, что в этой ситуации сразу несколько пикселей текстуры (текселов) попадает в один пиксель на мониторе. Возникает вопрос: в пользу какого одного тексела сделать выбор при отображении пикселя?

Эта задача и решается с помощью технологии MIP mapping, которая подразумевает возможность применения набора текстур с различной степенью детализации. На базе каждой текстуры создается набор текстур с меньшим уровнем детализации. Текстуры такого набора называются MIP – картами (MIP map).

В простейшем случае наложения текстуры для каждого пикселя изображения определяется соответствующая ему MIP – карта согласно таблицы детализации LOD(Level of Detail). Далее из MIP – карты выбирается только один тексел, цвет которого присваивается пикселю.

Технологии фильтрации

Как правило, технология MIP mapping используется в сочетании с технологиями фильтрации, призванными исправить артефакты MIP –текстурирования. Например, при удалении объекта всё дальше от точки наблюдения происходит переход от низкого MIP map-уровня к более высокому MIP map-уровню. В момент нахождения объекта в переходном состоянии от одного MIP map-уровня к другому появляется особый тип ошибок визуализации: явно различимые границы перехода от одного MIP map-уровня к другому.

Идея фильтрации состоит в том, что цвет пикселей объекта рассчитывается по соседним точкам текстуры (текселам).

Первым способом фильтрации текстур был так называемый point sampling, который в современной 3D-графике не используется. Следующей была разработана билинейная фильтрация. При билинейной фильтрации для отображения точки поверхности берется взвешенное среднее значение четырех смежных текстурных пикселей. При такой фильтрации качество медленно вращающихся или медленно двигающихся объектов с гранями (типа куба) низкое (размытые грани).

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

С ростом производительности графических процессоров была разработана анизотропная фильтрация, которая успешно применяется до сих пор. При определении цвета точки она использует большое количество текселей и учитывает положение полигонов. Уровень анизотропной фильтрации определяется числом текселей, которые обрабатываются при вычислении цвета пикселя: 2х (16 текселей), 4х (32 текселя), 8х (64 текселя), 16х (128 текселей). Данная фильтрация обеспечивает высокое качество выводимого движущегося изображения.

Все эти алгоритмы реализует графический процессор видеокарты.

Интерфейс прикладного программирования (API)

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

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

эффективное преобразование запросов прикладной программы в оптимизированную последовательность низкоуровневых команд 3D-акселератора с учетом особенностей его аппаратного построения;

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

Специальный пакет служебных программ для выполнения этих функций называется интерфейсом прикладного программирования (ApplicationProgram Interface = API ).

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

В настоящее время в 3D существует несколько API, области применения которых довольно четко разграничены:

DirectX , разработанный фирмой Microsoft, используемый в игровых приложениях, работающих под управлением операционных систем Windows 9X и более поздних версий;

OpenGL , используемый в основном в профессиональных приложениях (системы автоматизированного проектирования, системы трехмерного моделирования, тренажеры-симуляторы и т.п.), работающих под управлением операционной системы Windows NT;

Фирменные (native – родные) API , создаваемые производителями 3D-акселераторов исключительно для своих Chipset с целью наиболее эффективного использования их возможностей.

DirectX является жестко регламентированным, закрытым стандартом, который не допускает изменений до выхода в свет своей очередной, новой версии. Это, с одной стороны, ограничивает возможности разработчиков программ и особенно производителей акселераторов, однако значительно облегчает пользователю настройку программного и аппаратного обеспечения для 3D.

В отличие от DirectX, API OpenGL построен на концепции открытого стандарта, имеющего небольшой базовый набор функций и множество расширений, реализующих более сложные функции. Производитель Chipset 3D-акселератора обязан создать BIOS и драйверы, выполняющие базовые функции Open GL, но не обязан обеспечивать поддержку всех расширений. Это порождает ряд проблем, связанных с написанием производителями драйверов для своих изделий, которые поставляются как в полном, так и в усеченном виде.

Полная версия OpenGL-совместимого драйвера носит название ICD (Installable Client Driver – драйвер приложения – клиента). Он обеспечивает максимальное быстродействие, т.к. содержит низкоуровневые коды, обеспечивающие поддержку не только базового набора функций, но и его расширений. Естественно, что с учетом концепции OpenGL создание подобного драйвера исключительно сложный и трудоемкий процесс. Это одна из причин более высокой стоимости профессиональных 3D-акселераторов по сравнению с игровыми.

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

Разглядывая рекламный щит с изображением интерьера комнаты или рекламный ролик о мороженном, наблюдая за кадрами остросюжетного фильма, мы и не догадываемся, что за всем этим стоит кропотливая работа мастера 3d графики.

Трехмерная графика это

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

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

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

3d технологии графики и технологии 3d печати проникли во многие сферы человеческой деятельности, и приносят колоссальную прибыль.

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

Достижения современного 3д графики используются в следующих отраслях

  1. Кинематограф и мультипликация - создание трехмерных персонажей и реалистичных спецэффектов. Создание компьютерных игр - разработка 3d-персонажей, виртуальной реальности окружения, 3д-объектов для игр.
  2. Реклама - возможности 3d графики позволяют выгодно представить товар рынку, при помощи трехмерной графики можно создать иллюзию кристально-белоснежной рубашки или аппетитного фруктового мороженного с шоколадной стружкой и т.д. При этом в реального рекламируемый товар может иметь немало недостатков, которые легко скрываются за красивыми и качественными изображениями.
  3. Дизайн интерьеров - проектирование и разработка дизайна интерьера также не обходятся сегодня без трехмерной графики. 3d технологии дают возможность создать реалистичные 3д-макеты мебели (дивана, кресла, стула, комода и т.д.), точно повторяя геометрию объекта и создавая имитацию материала. При помощи трехмерной графики можно создать ролик, демонстрирующий все этажи проектируемого здания, который возможно еще даже не начал строиться.

Этапы создания трехмерного изображения


Для того чтобы получить 3д-изображение объекта необходимо выполнить следующие шаги

  1. Моделирование - построение математической 3д-модели общей сцены и ее объектов.
  2. Текстурирование включает наложение текстур на созданные модели, настройка материалов и придание моделям реалистичности.
  3. Настройка освещения .
  4. (движущихся объектов).
  5. Рендеринг - процесс создания изображения объекта по предварительно созданной модели.
  6. Композитинг или компоновка - постобработка полученного изображения.

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

Наиболее распространенными программными продуктами для 3d моделирования являются: Autodesk 3D max, Pixologic Zbrush, Blender.

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


Освещение
- создание, установка направления и настройка источников освещения в созданной сцене. Графические 3д-редакторы, как правило, используют следующие виды источников света: spot light (расходящиеся лучи), omni light (всенаправленный свет), directional light (параллельные лучи) и др. Некоторые редакторы дают возможность создания источника объемного свечения (Sphere light).

В отличие от двумерной анимации, где многое может быть нарисовано от руки, в трехмерной объекты слишком гладкие, их форма слишком правильная и движутся они по слишком "геометрическим" траекториям. Правда, эти проблемы преодолимы. В анимационных пакетах улучшаются средства визуализации, обновляются инструменты для создания спецэффектов и увеличиваются библиотеки материалов. Для создания "неровных" объектов, например, волос или дыма, используется технология формирования объекта из множества частиц. Вводится инверсная кинематика и другие техники оживления, возникают новые методы совмещения видеозаписи и анимационных эффектов, что позволяет сделать сцены и движения более реалистичными. Кроме того, технология открытых систем позволяет работать сразу с несколькими пакетами. Можно создать модель в одном пакете, разрисовать ее в другом, оживить в третьем, дополнить видеозаписью в четвертом. И, наконец, функции многих профессиональных пакетов можно сегодня расширить с помощью дополнительных приложений, написанных специально для базового пакета.

3D Studio и 3D Studio MAX

Один из самых известных пакетов 3D-анимации на IBM - это 3D Studio фирмы Autodesk. Программа работает под DOS, обеспечивает весь процесс создания трехмерного фильма: моделирование объектов и формирование сцены, анимацию и визуализацию, работу с видео. Кроме того, существует широкий спектр прикладных программ (IPAS-процессов), написанных специально для 3D Studio. Новая программа той же фирмы под названием 3D Studio MAX для Windows NT создавалась в течение нескольких последних лет и претендует на роль конкурента мощным пакетам для рабочих станций SGI. Интерфейс новой программы един для всех модулей и обладает высокой степенью интерактивности. 3D Studio MAX реализует расширенные возможности управления анимацией, хранит историю жизни каждого объекта и позволяет создавать разнообразные световые эффекты, поддерживает 3D-акселераторы и имеет открытую архитектуру, то есть позволяет третьим фирмам включать в систему дополнительные приложения.



TrueSpace, Prisms, Three-D, RenderMan, Crystal Topas

Electric Image, SoftImage

Для создания трехмерной анимации на компьютерах IBM и Macintosh удобно пользоваться и пакетом Electric Image Animation System, включающим большой комплекс анимационных средств, спецэффекты, инструментарий для работы со звуком и генератор шрифтов с настраиваемыми параметрами. Хотя у этой программы нет средств моделирования, но зато есть возможность импорта свыше тридцати различных форматов моделей. Пакет также поддерживает работу с иерархическими объектами и средствами инверсной кинематики. В свою очередь, программа Softimage 3D фирмы Microsoft работает на платформах SGI и Windows NT. Она поддерживает моделирование на базе полигонов и сплайнов, создание спецэффектов, работу с частицами и технологию переноса движения с живых актеров на компьютерных персонажей.

Построение реалистичных изображений включает как физические, так и психологические процессы. Свет, то есть электромагнитная энергия, после взаимодействия с окружающей средой попадает в глаз, где в результате физических и химических реакций вырабатываются электроимпульсы, воспринимаемые мозгом. Восприятие – это приобретаемое свойство. Человеческий глаз – очень сложная система. Он имеет почти сферическую форму с диаметром около 20 мм. Из опытов известно, что чувствительность глаза к яркости света изменяется по логарифмическому закону. Пределы чувствительности к яркости чрезвычайно широки, порядка 10 10 , однако глаз не в состоянии одновременно воспринять весь этот диапазон. Глаз реагирует на гораздо меньший диапазон значений относительно яркости, распределённый вокруг уровня адаптации к освещённости.

Скорость адаптации к яркости неодинакова для различных частей сетчатки, но, тем не менее очень высока. Глаз приспосабливается к «средней» яркости обозреваемой сцены; поэтому область с постоянной яркостью (интенсивностью) на тёмном фоне кажется ярче или светлее, чем на светлом фоне. Это явление называется одновременным контрастом.

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

Рис. 1.1. Эффект полос Маха: (а) кусочно-линейная функция интенсивности, (b) функция интенсивности с непрерывной первой производной.

1.1 Простая модель освещения.

Световая энергия, падающая на поверхность, может быть поглоще­на, отражена или пропущена. Частично она поглощается и превра­щается в тепло, а частично отражается или пропускается. Объект можно увидеть, только если он отражает или пропускает свет; если же объект поглощает весь падающий свет, то он невидим и называ­ется абсолютно черным телом. Количество поглощенной, отражен­ной или пропущенной энергии зависит от длины волны света. При освещении белым светом, в котором интенсивность всех длин волн снижена примерно одинаково, объект выглядит серым. Если погло­щается почти весь свет, то объект кажется черным, а если только небольшая его часть - белым. Если поглощаются лишь определен­ные длины волн, то у света, исходящего от объекта, изменяется распределение энергии и объект выглядит цветным. Цвет объекта определяется поглощаемыми длинами волн.

Свойства отраженного света зависят от строения, направления и формы источника света, от ориентации и свойств поверхности. Отраженный от объекта свет может также быть диффузным или зеркальным. Диффузное отражение света происходит, когда свет как бы проникает под поверхность объекта, поглощается, а затем вновь испускается. При этом положение наблюдателя не имеет зна­чения, так как диффузно отраженный свет рассеивается равномерно по всем направлениям. Зеркальное отражение происходит от внеш­ней поверхности объекта.

Рис.1.2. Ламбертовое диффузное отражение

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

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

Но если центр проекции лежит близко к объекту, то у объектов, лежащих при­мерно на одинаковом расстоянии от источника, разница интенсивностей чрезмерно велика. Как показывает опыт, большей реали­стичности можно добиться при линейном затухании. В этом случае модель освещения выглядит так (рис.1.3.)

Рис.1.3. Зеркальное отражение.

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

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

Прозрачность

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

Ни одно вещество не пропуска­ет весь падающий свет, часть его всегда отражается; это также по­казано на (рис.1.4.)

Рис.1.4.Геометрия преломления.

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

Тени

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

Наблюдения показывают, что тень состоит из двух частей: по­лутени и полной тени. Полная тень - это центральная, темная, резко очерченная часть, а полутень - окружающая ее более светлая часть. В машинной графике обычно рассматриваются точечные ис­точники, создающие только полную тень. Распределенные источни­ки света конечного размера создают. как тень, так и полутень: в полной тени свет вообще отсутствует, а полутень освещается ча­стью распределенного источника. Из-за больших вычислительных затрат, как правило, рассматривается только полная тень, образуе­мая точечным источником света. Сложность и, следовательно, сто­имость вычислений зависят и от положения источника. Легче всего, когда источник находится в бесконечности, и тени определяются с помощью ортогонального проецирования. Сложнее, если источник расположен на конечном расстоянии, но вне поля зрения; здесь не­обходима перспективная проекция. Самый трудный случай, когда источник находится в поле зрения. Тогда надо делить пространство на секторы и искать тени отдельно для каждого сектора.

Для того чтобы построить тени, нужно по существу дважды удалить невидимые поверхности: для положения каждого источни­ка и для положения наблюдателя или точки наблюдения, т. е. это двухшаговый процесс. Рассмотрим сцену на рис. 1.5. Один источ­ник находится в бесконечности сверху: спереди слева от параллеле­пипеда. Точка наблюдения лежит спереди: сверху справа от объек­та. В данном случае тени образуются двояко: это собственная тень и проекционная. Собственная тень получается тогда, когда сам объект препятствует пропаданию света на некоторые его грани, на­пример на правую грань параллелепипеда. При этом алгоритм по­строения теней аналогичен алгоритму удаления нелицевых граней: грани, затененные собственной тенью, являются нелицевыми, если точку наблюдения совместить с источником света.

Рис.1.5.Тени.

Если один объект препятствует попаданию света на другой, то получается проекционная тень, например тень на горизонтальной плоскости на (рис. 1.5, Ь.) Чтобы найти такие тени, нужно постро­ить проекции всех не лицевых граней на сцену. Центр проекции на­ходится в источнике света. Точки пересечения проецируемой грани со всеми другими плоскостями образуют многоугольники, которые помечаются как теневые многоугольники и заносятся в структуру данных. Для того чтобы не вносить в нее слишком много много­угольников, можно проецировать контур каждого объекта, а не от­дельные грани.

После добавления теней к структуре данных, как обычно, стро­ится вид сцены из заданной точки наблюдения. Отметим, что для создания разных видов не нужно вычислять тени заново, так как они зависят только от положения источника и не зависят от поло­жения наблюдателя.

Развитие алгоритмов

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

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

В 1974 году Эд Кэтмул ввел концепцию Z-буфера, суть которой была в том, что изображение может состоять из горизонтальных (X) и вертикальных (Y) элементов, каждый из которых также имеет глубину. Таким способом был ускорен процесс удаления скрытых граней, и теперь этот метод является стандартом для трехмерных ускорителей. Другим изобретением Кэтмула было обертывание двумерного изображения вокруг трехмерной геометрии. Проецирование текстуры на поверхность, является основным способом придания реалистичного вида трехмерному объекту. Изначально объекты были равномерно окрашены в один цвет, так что, например, создание кирпичной стены требовало индивидуального моделирования каждого кирпичика и заливки между ними. В наши дни вы можете создать такую стену, назначив растровое изображение кирпичной стены простому прямоугольному объекту. Этот процесс требует минимального объема вычислений и ресурсов компьютера, не говоря уже о значительном сокращении времени работы.

By Тонг Фонг усовершенствовал принцип сглаживания Гуро путем интерполяции оттенков всей поверхности полигона, а не только областей, прилегающих непосредственно к граням. Хотя визуализация в этом случае происходит раз в сто медленней, чем при предыдущем варианте сглаживания, объекты получают в результате «пластичный» вид, присущий ранней компьютерной анимации. В Maya используются два варианта раскраски по Фонгу.

Джеймс Блинн скомбинировал элементы раскраски по Фонгу и проецирования текстур, создав в 1976 году текстуру рельефа. Если к поверхности было применено сглаживание по Фонгу и можно спроецировать на нее карту текстуры, почему не использовать оттенки серого в соответствии с направлениями нормалей к граням, чтобы создать эффект рельефа? Более светлые оттенки серого воспринимаются, как возвышенности, а более темные - как впадины. Геометрия объекта при этом остается неизменной, и вы можете видеть его силуэт.

Блинн также разработал метод использования карт окружающей среды для формирования отражений. Он предложил создать кубическую среду путем визуализации шести проекций из центра объекта. Полученные таким способом изображения затем проецируются обратно на объект, но с фиксированными координатами, в результате чего картинка не перемещается вместе с объектом. В результате поверхность объекта будет отражать окружающую среду. Для успешной реализации эффекта нужно, чтобы не было быстрого движения объектов окружающей среды в процессе анимации. В 1980 году Тернер Уиттед предложил новую технику визуализации, называемую трассированием. Это отслеживание путей прохождения отдельных световых лучей от источника света до объектива камеры с учетом их отражения от объектов сцены и преломления в прозрачных средах. Хотя реализация этого метода требует значительного количества ресурсов компьютера, изображение получается очень реалистичным и аккуратным.

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

В 1984 году в Торонто была основана фирма Alias. Это название имеет два значения. Во-первых, это переводится как «псевдоним», ведь в те времена основатели компании были вынуждены работать по совместительству. Во-вторых, этот термин используется для описания ступенчатых краев изображения в компьютерной графике. Первоначально фирма ориентировалась на выпуск программного обеспечения. предназначенного для моделирования и разработки сложных поверхностей. Затем была создана программа Power Animator, мощный и дорогостоящий продукт, который многие производители считали самым лучшим из доступных на тот момент.

В 1984 году в Сайта-Барбаре была основана компания Wavefront. Это название буквально переводится как волновой фронт. Компания немедленно занялась разработкой программного обеспечения для создания трехмерных визуальных эффектов и производством графических заставок для телепрограмм Showtime, Bravo и National Geographic Explorer. Первое приложение, созданное компанией Wave-front, называлось Preview. Затем в 1988 году была выпущена программа Softimage, которая довольно быстро завоевала популярность на рынке продуктов, предназначенных для работы с компьютерной графикой. Все программное и аппаратное обеспечение, использовавшееся для создания анимации в 80-х годах, было специализированным и очень дорогим. К концу 80-х годов в мире насчитывалось всего несколько тысяч человек, занимавшихся моделированием визуальных эффектов. Почти все они работали на компьютерах производства компании Silicon Graphics и использовали программное обеспечение от фирм Wavefront, Softimage и т. п.

Благодаря появлению персональных компьютеров число людей, занимающихся созданием компьютерной анимации, начало расти. Компании IBM PC, Amiga, Macintosh и даже Atari начали разрабатывать программное обеспечение для обработки трехмерных изображений. В 1986 году фирма AT&T выпустила первый пакет для работы с анимацией на персональных компьютерах, который носил название TOPAS. Он стоил 10 000 долларов и работал на компьютерах с процессором Intel 286 и операционной системой DOS. Благодаря этим компьютерам стало возможным создание свободной анимации, несмотря на примитивную графику и относительно низкую скорость вычислений. В следующем году фирма Apple Macintosh выпустила еще одну систему для создания трехмерной графики на базе персональных компьютеров, которая носила название Electric Image. В 1990 году фирма AutoDesk начала продажу продукта 3D Studio, созданного независимой командой Yost Group, разрабатывавшей графические продукты для компании Atari. Стоимость 3D Studio составляла всего 3000 долларов, что в глазах пользователей персональных компьютеров делало его достойным конкурентом пакету TOPAS. Еще через год появился продукт Video Toaster компании NewTek вместе с простой в использовании программой LightWave. Для работы с ними были необходимы компьютеры Amiga. Эти программы пользовались большим спросом на рынке и продавались тысячами копий. К началу 90-х годов создание компьютерной анимации стало доступно широкому кругу пользователей. Каждый мог экспериментировать с анимацией и эффектами трассирования. Появилась возможность бесплатно загрузить программу Стивена Коя Vivid, позволяющую воспроизводить эффекты трассирования, или программу Persistence of Vision Raytracer, больше известную под названием POVRay. Последняя предоставляет детям и начинающим пользователям замечательную возможность познакомиться с основами компьютерной графики.

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

По мере роста рынка приложений для работы с трехмерной графикой и увеличения конкуренции, многие компании объединили свои технологии. В 1993 году компания Wavefront слилась с фирмой Thompson Digital Images, которая использовала моделирование на основе NURBS-кривых и интерактивную визуализацию. Позднее эти функции легли в основу интерактивной фотореалистичной визуализации в Maya. В 1994 году фирма Microsoft купила программу Softimage и выпустила версию данного продукта для платформ Windows NT на базе компьютеров Pentium. Это событие можно считать началом эры недорогих и доступных среднестатистическому пользователю персонального компьютера программ для работы с трехмерной графикой. В ответ на это в 1995 году компания SGI купила и объединила фирмы Alias и Wavefront, чтобы предотвратить упадок интереса к приложениям, которые работали исключительно на специализированных компьютерах SGI. Почти сразу же новая компания, названная Alias] Wavefront, начала объединение имевшихся в ее распоряжении технологий для создания совершенно новой программы. Наконец, в 1998 году было выпущено приложение Maya, стоившее от 15 000 до 30 000 долларов и предназначенное для операционной системы IRIX на рабочих станциях SGI. Программа была написана с нуля и предлагала новый путь развития анимации с открытым интерфейсом программирования приложений (API) и колоссальными возможностями расширения. Несмотря на первоначальное намерение компании SGI сохранить эксклюзивное право на предоставление среды для Maya, в феврале 1999 года появилась версия для Windows NT. Старая схема формирования цен была отброшена, и теперь базовый пакет Maya стоит всего 7500 долларов. В апреле этого же года появилась Maya 2, а в ноябре - Maya 2.5, содержащая модуль Paint Effects (Эффекты рисования). Летом 2000 года была выпущена версия Maya 3, к которой была добавлена возможность создания нелинейной анимации с помощью инструмента Тгах (Видеомонтаж). В начале 2001 года были анонсированы версии Maya для Linux и Macintosh, а с июня начались поставки Maya 4 для IRIX и Windows NT/2000.

Maya представляет собой программу для создания трехмерной графики и анимации, основанных на моделях, созданных пользователем в виртуальном пространстве, освещенных виртуальными источниками света и показанных через объективы виртуальных камер. Существуют две основные версии программы: Maya Complete (ее стоимость на момент написания книги составляла 7500 долларов) и Maya Unlimited (стоившая 16 000 долларов), которая включала некоторые специфические функции. Maya работает как на компьютерах PC с операционной системой Windows NT/2000, так и в операционных системах Linux, IRIX или даже Macintosh. Программа позволяет создавать фотореалистичные растровые изображения, подобные тем, которые вы получаете с помощью цифровой камеры. При этом работа над любой сценой начинается с пустого пространства. Лю-эой параметр можно заставить изменяться с течением времени, в результате после визуализации набора кадров получается анимированная сцена.

Maya превосходит многие из имеющихся в данный момент на рынке пакетов для работы с трехмерной анимацией. Программа используется для создания эффектов в большом числе фильмов, имеет широкий диапазон применения в областях, которые мы перечислили выше, и считается одной из лучших в области создания анимации, несмотря на сложность в ее изучении. В настоящий момент основными конкурентами Maya являются программы LightWave, Softimage XSI и 3ds max, стоимость которых составляет от 2000 до 7000 долларов. Среди программ, стоящих меньше 1000 долларов, можно упомянуть trueSpace, Inspire 3D, Cinema 4D, Вгусе и Animation Master.

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

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

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

Предлагаем полюбоваться творениями разных мастеров, чьи работы выполнены в реалистичном 3D-жанре.

1. Очки.

Простой, элегантный и причудливый 3D-рисунок, который выглядит реалистично.

2. «Зал Гигантов», Палаццо Те, Мантуя, Италия

Иллюзионистские фрески 16-го века, выполненные Джулио Романо, относят к истокам 3D-искусства.

3. Карандашный 3D-рисунок Нагаи Хидеюки

Художник создает трёхмерную иллюзию, используя лишь альбом и цветные карандаши.

4. Музей 3D-картин в городе Чиангмай, Таиланд

Существует целый музей, посвященный 3D-искусству, в Таиланде. Его залы наполнены большими фресками, которые выглядят совершенно реально.

5. Кока кола - иллюзия

Часто вдохновение для 3D-искусства берёт начало в популярных объектах из нашей повседневной жизни. Классический вариант - бутылка Колы.

6. Компьютерная графика: Девушка

Кто бы мог подумать, что этой девушки не существует?

7. Колонны коринфского ордера

Прекрасный карандашный 3D-рисунок двух коринфских колонн.

8. Реалистичный водопад в городе Двур Кралове, Чехия

Часть городского парка в Чешской Республике превратили в иллюзию прекрасного водопада.

9. Глобус

Нередко 3D-искусство используют в маркетинге. Эта картина земного шара призывает людей на борьбу с бедностью.

10. Игорь Таритас

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

11. Дейви Джонс от Джерри Грошке

Классический персонаж из «Пиратов Карибского моря», созданный 3D-художником компьютерной графики.

12. Казухико Накамура

Японский 3D-художник, который создаёт креативные стимпанк фотографии с помощью программного обеспечения.

13. Курт Веннер: Дикое родео в Калгари, Канада

Один из самых известных современных 3D-художников, Курт Веннер, изобразил вымышленное родео в канадском городе.

14. Леон Кир, Рубен Понциа, Ремко ван Шайк и Питер Вестеринг

Четыре художники объединились, чтобы создать эту невероятную иллюзию армии Лего.

15. Лодзь, Польша

Бассейн возле оживлённого торгового центра в городе Лодзь, Польша. Надеюсь, никто в него не прыгнул.

16. Рынок

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

17. МТО, Ренн, Франция

Уличный художник МТО создал серию масштабных 3D-фресок в Ренн, Франция. В его настенной живописи фигурируют великаны, пытающиеся проникнуть в дома людей. Картины и потрясают, и ужасают.

Похожие статьи