Программы трехмерной графики описание

API u GDI. Мультимедийные технические средства (а осо­бенно компьютерная графика) — наиболее быстро развиваю­щаяся область промышленности ПК, где с высокими темпами постоянно возникают новые чипсеты, версии интерфейсных карт, устройства и принципы технологий. Для прикладного про­граммиста, занимающегося разработками мультимедийных при­ложений или компьютерных игр, становится совершенно нере­альным заново переписывать все программы с появлением на рынке карт с новыми графическими процессорами, поддерживающими высокопроизводительные технологии мультимедиа с аппаратным ускорением (графические/видеоакселераторы).

Программный интерфейс приложения. В каче­стве решения появились программные интерфейсы приложений (API, application programming interface), которые играют роль посредника между прикладной программой и аппаратными средст­вами ЭВМ (интерфейсная карта и внешнее устройство), на кото­рых она выполняется. Разработчик программного обеспечения пишет обращение к устройству на некотором стандартизированном языке, а не в кодах аппаратных средств ЭВМ. Затем драй­вер, написанный изготовителем периферийного устройства или его карты, переводит этот стандартный код к формату, понятно­му специфической модели периферийных устройств (рис. 3.26).

Как СТАТЬ 3D дженералистом / BLENDER VS другие программы для создания трехмерной графики

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

Графический интерфейс устройства (Graphics Device Interface — GDI) является стандартом Microsoft Windows, который описывает, как следует представлять графические объ­екты для передачи их на устройства вывода типа мониторов или принтеров.

GDI поддерживает такие задачи, как рисование линий, пред­ставление шрифтов и обработка палитр. Он не занимается непо­средственно формированием окон, меню и т. д., эти задачи ос­тавлены для подсистемы пользователя (user32.dll), которая является надстройкой над GDI.

Существенная способность GDI (кроме более прямых мето­дов обращения к аппаратным средствам) — масштабирование и абстрагирование от оконечных устройств. Используя GDI, можно достаточно просто осуществлять вывод изображений на различные устройства (мониторы, принтера) и ожидать надлежащего результата в каждом случае. Эта способность обеспечивает все приложения WYSIWYG для Microsoft Windows.

Простые игровые программы, которые не требуют быстрой Работки графики, могут обходиться возможностями GDI. Однако более современные игры должны использовать API DirectX или OpenGL, которые дают возможность программистам более интенсивно использовать аппаратные средства.

С появлением Windows XP GDI заменяется преемником — подсистемой GDI+, базирующейся на C++. GDI+ — следующее поколение двумерной графической среды, включающее такие расширенные особенности, как двумерная графика со сглажива­нием, координаты с плавающей запятой, альфа-смешивание, градиентное затушевывание, поддержка современных форматов графических файлов наподобие JPEG и PNG (которые заметно отсутствовали в GDI), и общая поддержка перечня аффинных преобразований в конвейере двумерного рендеринга. Использо­вание этих особенностей очевидно в интерфейсе пользователя Windows XP, и их присутствие в основном графическом уровне очень упрощает выполнение векторных графических преобразо­ваний. Динамическая библиотека GDI+ может вместе с прило­жением использоваться под более ранними версиями Windows. Библиотека классов Microsoft.NET обеспечивает управляемый интерфейс для GDI+.

Направления 3D графики | Интерьеры, Анимация, VFX, гейм-дизайн, 3D печать

API для трехмерной графики

Господствующими направлениями в обработке трехмерной графики в последние годы являются два 3D-API — OpenGL и Direct3D. Прежде чем давать их описания вкратце охарактеризу­ем процедуры, входящие в понятие представления изображения или рендеринга.

OpenGL (Open Graphics Library — открытая графическая биб­лиотека) — межъязыковая и межплатформенная спецификация API для трех- и двумерных приложений компьютерной графики. Включает более чем 250 функций, которые предназначены для формирования трехмерных объектов и сцен из простых прими­тивов. OpenGL был разработан Silicon Graphics Inc. (SGI) в 1992 г. и широко распространен в индустрии разработчиков ви­деоигр, где конкурирует с Direct3D на платформах Microsoft Windows. OpenGL широко используется в САПР, визуализации данных, системах моделирования и видеоиграх.

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

Применение OpenGL преследует следующие основные цели:

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

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

Основная функция OpenGL заключается в считывании гра­фических примитивов (точек, линий и многоугольников) и преобразовании их в пиксели. Это происходит в графическом конвейере, известном как «машина OpenGL» (OpenGL state machine). Большинство команд OpenGL или направляет прими­тивы на конвейер, или задает, как конвейер должен их обраба­тывать.

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

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

Краткое описание процесса в графическом конвейере (рис. 3.27):

• построение (evaluation) коэффициентов полиномиальных Функций (наподобие сплайновых кривых NURBS), кото­рые аппроксимируют пространственные поверхности объектов;

• обработка вершин многогранников (vertex operations), их преобразование или подсветка в зависимости от материала, Удаление невидимых частей объектов;

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

• операции над фрагментами (пиксели или их группы — per-fragment operations) типа обновления ранее поступив­шей и сохраненной информации (цветовая глубина, отте­нок и пр.);

• передача пикселей в буфер кадра/сцены (frame buffer).

DirectX. Впервые предложенный в 1995 г., DirectX представ­лял собой объединенный набор инструментов программирова­ния, предназначенных для того, чтобы помочь разработчикам создавать широкий спектр мультимедийных приложений для платформы Windows. Охватывая почти все аспекты мультиме­дийных технологий, выпуск DirectX 8.0 включает следующие компоненты:

• DirectX Graphics, который в свою очередь состоит из двух API:

— DirectDraw — для обработки двумерных растровых изоб­ражений;

— Direct3D (D3D) — обработчик 3D-графики;

• DirectInput, обрабатывает данные, поступающие от кла­виатуры, мыши, джойстиков или других игровых контрол­леров;

• DirectPlay — для поддержки сетевых игр;

• DirectSound — проигрывание и запись звука;

• DirectSound3D (DS3D) — для воспроизведения 3D-звучания;

• DirectMusic — проигрывание звукозаписей, подготовлен­ных в DirectMusic Producer;

• DirectSetup — установка и настройка компонент DirectX;

• DirectX Media, включает DirectAnimation, DirectShow, DirectX Video Acceleration, Direct3D Retained Mode и DirectX Transform для анимации, воспроизведения мульти­медиа, 3D -интерактивных приложений;

• DirectX Media Objects — поддержка кодирования/декоди­рования в реальном масштабе времени и создание спецэф­фектов.

Direct 3 D. Direct3D включает две компоненты API — Immediate Mode (немедленная обработка) и Retained Mode (от­ложенная обработка). Первая обеспечивает использование всех 3D-функций видеокарт (подсветка, текстурирование, трансфор­мация объектов и пр.), в то время как вторая — более сложные графические технологии, такие как иерархия сцен или анима­ция. Функции Immediate Mode предпочитают использовать раз­работчики видеоигр, поскольку здесь они могут осуществлять программирование на низком уровне, более свободно и эффек­тивно используя возможности графического оборудования. Не­смотря на Intermediate Mode считается, что Direct3D является менее гибким, чем OpenGL.

Читайте также:
Как пользоваться программой коинкипер

Компоненты 6-й версии Direct3D поддерживают возможно­сти более новых графических карт выполнять множественное текстурирование (покрытия «каркаса» изображения текстурами) за один проход. Здесь также используются более новые методы для того, чтобы улучшить реализм 3D-сцен, типа анизотропной фильтрации (anistropic filtering), которая добавляет элемент глу­бины к трилинейной фильтрации (trilinear filtering) и отображе­ние неровностей (bump mapping), которое создает иллюзию ре­альности структуры и освещенности плоских поверхностей.

Следующая версия — DirectX V7.0 (1999 г.), кроме оптими­зации кода, которая позволила на 20 % увеличить быстродейст­вие, включала ряд новых особенностей. Наиболее важная из них — сопровождение операций трансформации и подсветки (transformation and lighting — TL являлись одной из самых трудоемких для центральных процессоров задач в современных игровых приложениях, перенос этой нагрузки на выделенный 3D-акселератор позволяет освободить ЦП для более существенных задач (например, внесение в игры элементов искусственного интеллекта или выработка специальных эффектов).

Самым важным аспектом DirectX 9.0 (январь 2003 г.) было введение HLSL (High Level Shader Language, высокоуровневый язык раскрашивания изображений). Ранее разработчики игр должны были программировать алгоритмы раскраски, используя ассемблер низкого уровня. HDSL вводит дружественную среду программирования, которая облегчает каждый шаг разработки, — от создания ярких образов в мультипликации до программирова­ния эффектов. Базирующийся на языке программирования С, HLSL совместим со всеми графическими средствами DirectX.

Структура графического конвейера Direct3D (рис. 3.28):

• входная сборка (input assembler) поставляет данные на кон­вейер;

• раскраска вершин многогранников (vertex shader) выполня­ет операции над вершинами, такими, как трансформация, покрытие текстурой, подсветка;

• раскраска геометрических примитивов (geometry shader) — операции над примитивами (треугольники, вершины, ли­нии), иногда — над связанными с ними примитивами. На этой стадии каждый примитив передается дальше или уничтожается, или на его основе создается один или не­сколько новых примитивов;

• выходной поток (stream output) — запись в память резуль­татов предыдущих стадий. На основе этих данных могут быть организованы итерационные циклы обработки дан­ных на конвейере;

• растеризация (rasterizer) — трансформация примитивов в пиксели, удаление невидимых;

• раскраска пикселей (pixel shader) и другие операции над ними;

• окончательная сборка (output merger), объединение раз­личных типов выходных данных и построение кадра-ре­зультата.

Контрольные вопросы

1. Каковы характеристики аналогово-цифрового и цифро-аналогового

2. Перечислите методы синтеза звука.

3. Какие характеристики имеют аудиоадаптеры?

4. Что такое ЧМ и WaveTable?

5. Перечислите возможности карты SoundBlaster.

6. Что такое Live!Drive?

7. Охарактеризуйте MIDI-интерфейс.

8. Перечислите основные характеристики форматов аудиосигнала.

9. Какие основные функции реализует программное обеспечение обра­ботки

10. Охарактеризуйте методы оптической интерполяции.

11. Перечислите основные характеристики цифровых видеокамер (ЦВК).

12. Что такое схемы цветообразования?

13. Охарактеризуйте форматы графических файлов.

14. Что такое видеозахват?

15. Что такое цветоразностные компоненты?

16. Перечислите форматы записи цифрового видео.

17. В чем заключается сущность M-JPEG сжатия видеоданных?

18. Перечислите основные особенности алгоритмов MPEG-1—4.

19. Что такое GOP?

20. Что такое профили MPEG?

21. В чем сущность стандарта MPEG-7?

22. Перечислите основные фазы работы с 3-мерной графикой.

23. Что такое рендеринг?

24. Охарактеризуйте API OpenGL.

25. Что такое DirectX и Direct3D?

Глава 4

Источник: infopedia.su

Программные средства обработки трехмерной графики

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

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

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

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

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

После завершения конструирования и визуализации объекта приступают его «оживлению», т.е. заданию параметров движения. Компьютерная анимация базируется на ключевых кадрах.

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

Основную долю рынка программных средств обработки трехмерной графики занимают три пакета: 3D Studio Max фирмы Kinetix; Softimage 3D компании Microsoft; Maya, разработанная консорциумом известных компаний (Alias, Wavefront, TDI). На сегодняшний день Maya является наиболее передовым пакетом в классе средств создания и обработки трехмерной графики для персональных компьютеров.

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

В упрощенном виде для пространственного моделирования объекта требуется:

– спроектировать и создать виртуальный каркас (“скелет”) объекта, наиболее полно соответствующий его реальной форме;

– спроектировать и создать виртуальные материалы, по физическим свойствам визуализации похожие на реальные;

– присвоить материалы различным частям поверхности объекта (на профессиональном жаргоне – “спроектировать текстуры на объект”);

– настроить физические параметры пространства, в котором будет действовать объект, – задать освещение, гравитацию, свойства атмосферы, свойства взаимодействующих объектов и поверхностей;

– задать траектории движения объектов;

– рассчитать результирующую последовательность кадров;

– наложить поверхностные эффекты на итоговый анимационный ролик.

Для создания реалистичной модели объекта используют геометрические примитивы (прямоугольник, куб, шар, конус и прочие) и гладкие, так называемые сплайновые поверхности. В последнем случае применяют чаще всего метод бикубических рациональных В-сплайнов на неравномерной сетке (NURBS). Вид поверхности при этом определяется расположенной в пространстве сеткой опорных точек. Каждой точке присваивается коэффициент, величина которого определяет степень ее влияния на часть поверхности, проходящей вблизи точки. От взаимного расположения точек и величины коэффициентов зависит форма и “гладкость” поверхности в целом.

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

Закраска поверхностей осуществляется методами Гуро (Gouraud) или Фонга (Phong). В первом случае цвет примитива рассчитывается лишь в его вершинах, а затем линейно интерполируется по поверхности. Во втором случае строится нормаль к объекту в целом, ее вектор интерполируется по поверхности составляющих примитивов и освещение рассчитывается для каждой точки.

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

Читайте также:
Парциональной программой по экологическому воспитанию не является программы ответ

– свет, пришедший с обратной стороны поверхности, то есть преломленный свет (Refracted);

– свет, равномерно рассеиваемый поверхностью (Diffuse);

– зеркально отраженный свет (Reflected);

– блики, то есть отраженный свет источников (Specular);

– собственное свечение поверхности (Self Illumination).

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

После завершения конструирования и визуализации объекта приступают к его “оживлению”, то есть заданию параметров движения. Компьютерная анимация базируется на ключевых кадрах. В первом кадре объект выставляется в исходное положение. Через определенный промежуток (например, в восьмом кадре) задается новое положение объекта и так далее до конечного положения.

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

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

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

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

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

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

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

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

Программные средства обработки трехмерной графики

На персональных компьютерах основную долю рынка программных средств обработки трехмерной графики занимают три пакета. Эффективней всего они работают на самых мощных машинах (в двух- или четырехпроцессорных конфигурациях Pentium II/III, Xeon) под управлением операционной системы Windows NT.

Программа создания и обработки трехмерной графики 3D Studio Max фирмы Kinetix изначально создавалась для платформы Windows. Этот пакет считается «полупрофессиональным». Однако его средств вполне хватает для разработки качественных трехмерных изображений объектов неживой природы.

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

Программа Softimage 3D компании Microsoft изначально создавалась для рабочих станций SGIи лишь сравнительно недавно была конвертирована под операционную систему Windows NT. Программу отличают богатые возможности моделирования, наличие большого числа регулируемых физических и кинематографических параметров. Для рендеринга применяется качественный и достаточно быстрый модуль Mental Ray. Существует множество дополнений, выпущенных “третьими” фирмами, значительно расширяющих функции пакета. Эта программа считается стандартом «де-факто» в мире специализированных графических станций SGI, а на платформе IBM PC выглядит несколько тяжеловато и требует мощных аппаратных ресурсов.

Наиболее революционной с точки зрения интерфейса и возможностей является программа Мауа, разработанная консорциумом известных компаний (Alias, Wavefront, TDI). Пакет существует в вариантах для разных операционных систем, в том числе и Windows NT. Инструментарий Мауа сведен в четыре группы: Animation (анимация), Modeling (моделирование), Dynamic (физическое моделирование), Rendering (визуализация). Удобный настраиваемый интерфейс выполнен в соответствии с современными требованиями. На сегодняшний день Мауа является наиболее передовым пакетом в классе средств создания и обработки трехмерной графики для персональных компьютеров.

| следующая лекция ==>
Растровая и векторная графика | Алгоритм вывода прямой линии

Дата добавления: 2016-05-28 ; просмотров: 3395 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ

Источник: poznayka.org

Математические основы 3D графики Вектора

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

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

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

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

При возникновении компьютеров появилась возможность создания настоящих трехмерных эффектов. Первооткрывателем в этой области был один из самых известных людей в мировом кинематографе — Джордж Лукас. Его фильмы «Звездные войны» прославились невиданными спецэффектами. В 1975 году Лукас основал собственную компанию ILM, которая занималась разработкой спецэффектов. В 1985 году в фильме «Молодой Шерлок Холмс появился первый персонаж, созданный при помощи компьютера.

Читайте также:
Степень выполнения программы практики характеристика

Студия Pixar в 1986 году создала графический компьютер Pixar Image Computer, который мог выводить на экран изображение с разрешением 1280 x 1024 пикселов в цвете и 2048 x 2048 пикселов в черно-белом режиме. Позже разработала средство для визуализации компьютерной анимации RenderMan, которое до сих пор самое лучшее. В 1995 году был представлен первый полнометражный компьютерный мультфильм «История игрушек». В 2001 году «Корпорация монстров», в котором впервые герои с реалистичной шерстью, «Шреке» — огромные леса с детальной прорисовкой деревьев и листьев на них.

Сегодня созданием полнометражных анимационных фильмов занимаются не только студии Pixar и DreamWorks, но и многие другие известные компании, в том числе Warner Bros. и Sony. Компьютерная графика нашла применение и во многих других сферах, которые далеки от кинематографа. Например, с ее помощью моделируются фотореалистичные здания и интерьеры, которые в реальности не существуют.

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

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

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

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

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

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

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

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

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

Анимация

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

разместить уже созданные им объекты в каждом кадре.

Съемка

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

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

Освещение

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

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

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

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

Это слово происходит от термина «текстура», которым обозначается рисунок, накладываемый на 3D-модель. В общем смысле слово «текстура» имеет несколько другое значение и обозначает особенности строения твердого вещества, обусловленные характером расположения его составных частей. В трехмерной графике текстурой может служить как фотография реального объекта, наложенная на 3D-модель, так и двумерный рисунок, созданный в программе типа Adobe Photoshop.

Визуализация

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

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

Математические основы 3D графики Вектора

Вектор — линия с постоянным направлением и длиной, которую можно перемещать в координатной системе.

Векторное уравнение

Пусть имеется точка A с координатами (Ax,Ay,Az), и точка B с координатами (Bx,By,Bz),тогда вектор с началом в точке A и концом в точке B есть AB = (Bx-Ax,By-Ay,Bz-Az)= (X,Y,Z). Нужно встать в точку A и протопать в направлении X расстояние, равное (Bx-Ax), после чего проделать еще 2 прогулки в направлении Y и Z.

Длина вектора

Расстояние от начала координат до вершины. Вычисление длины вектора необходимо, например, для phong shading и vertex normal calculation.

Сложение векторов

Результат — вектор: a + b = (Ax+Bx,Ay+By,Az+Bz).

Источник: megalektsii.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru