Лекция по Трёхмерной графике

Preview:

Citation preview

Высшая школа экономики, Москва, 2013

www.hse.ru

ТРЁХМЕРНАЯ ГРАФИКА

Соболевский Алексей

ИНЖЕНЕРНАЯ И КОМПЬЮТЕРНАЯ ГРАФИКА

2 КУРС

Высшая школа экономики, Москва, 2013

Темы лекции

• Что такое трёхмерная графика?• История трёхмерной графики• Основные понятия 3D-графики• Конвейер рендеринга• Основные алгоритмы 3D-объектами• Дополнительные фишки

Высшая школа экономики, Москва, 2013

3D GRAPHPHPHPHPHICZZZZ

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

Высшая школа экономики, Москва, 2013

3D GRAPHPHPHPHPHICZZZZ

Высшая школа экономики, Москва, 2013

3D GRAPHPHPHPHPHICZZZZ

Высшая школа экономики, Москва, 2013

Немного истории

Иван Сазерленд•Создатель Sketchpad (1962 год)•Основатель первой кафедры Компьютерной графики•Ведущий специалист в области КГ

Эд Катмолл•Создатель первых алгоритмов битовой глубины и текстурирования•Технический директор Pixar

Высшая школа экономики, Москва, 2013

Немного истории

Джим БлиннСоздатель Bump Mapping и Environment Mapping

Би Тюн ФонгPhong Shading

Анри ГюраGouraud Shading

Высшая школа экономики, Москва, 2013

Немного истории

Высшая школа экономики, Москва, 2013

Немного истории

• 1976 годПервый фильм, в котором использовалась 3D-графика

• Первая программа 3D-моделирования MAGI (процедрурная)

• Алгоритм трассировки лучей• Появление полигонального метода

моделирования• Power Animator (SGI-станции, Irix OS)

Высшая школа экономики, Москва, 2013

Основные понятия 3D-графики

• Полигон• Вертекс• Текстура• Шейдер• Буфер глубины и буфер кадра• Рендеринг

Высшая школа экономики, Москва, 2013

Полигон

• Произвольный плоский многоугольник являющийся частью грани или поверхности

• В основном, треугольник

Высшая школа экономики, Москва, 2013

Вершина

• Вершина полигона• Массивы вертексов (вместо массивов

полигонов)• Преобразование объектов

Высшая школа экономики, Москва, 2013

Вершина

• Позиция• Нормаль• Цвет• Координаты текстуры

Высшая школа экономики, Москва, 2013

Полигональная сетка

Высшая школа экономики, Москва, 2013

Вершина

Высшая школа экономики, Москва, 2013

Текстура

• Растровое изображение• Отвечает за цвет и псевдообъём• Состоит из текселей

Высшая школа экономики, Москва, 2013

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

• Normal Mapping• Parallax Mapping• Bump Mapping• Environment Mapping• Displacement Mapping• Mipmapping• …

Высшая школа экономики, Москва, 2013

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

Высшая школа экономики, Москва, 2013

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

Высшая школа экономики, Москва, 2013

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

Высшая школа экономики, Москва, 2013

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

• Parallax mapping – работает как фрагментный (пиксельный) шейдер

• Displacement mapping – работает как вершинный (вертексный) шейдер

Высшая школа экономики, Москва, 2013

Шейдеры

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

Высшая школа экономики, Москва, 2013

Шейдеры

• Вершинные шейдеры• Изменение параметров вершин

• Геометрические шейдеры

• Пиксельные шейдеры• Изменение параметров пикселей при выводе• Возможность производить попиксельное освещение• Создание эффектов с частицами

Высшая школа экономики, Москва, 2013

Шейдеры

Высшая школа экономики, Москва, 2013

Буфер глубины и буфер кадра

Буфер глубины - способ учёта удалённости элемента изображения

По сути, это массив, записывающий удалённость объектов сцены от камеры

Высшая школа экономики, Москва, 2013

Буфер глубины и буфер кадра

Высшая школа экономики, Москва, 2013

Буфер глубины и буфер кадра

Высшая школа экономики, Москва, 2013

Буфер глубины и буфер кадра

Высшая школа экономики, Москва, 2013

Буфер глубины и буфер кадра

Высшая школа экономики, Москва, 2013

Рендеринг

РЕНДЕРИНГ

Высшая школа экономики, Москва, 2013

Рендеринг

Получение изображения из модели (не обязательно 3D)

Высшая школа экономики, Москва, 2013

Конвейер рендеринга

Это стандартный алгоритм

Вход конвейера – данные о 3D сцене (свет, объекты, текстуры, шейдеры, типы затенения и освещения и т.п.)

Выход конвейера – 2D картинка на мониторе

Высшая школа экономики, Москва, 2013

Конвейер рендеринга

• Триангуляция (Triangle Setup)

• Трансформация объектов

• Обработка вершин

• Трансформация вида

• Проекция сцены

• Отсечение невидимых частей

• Растеризация

• Обработка пикселей

• Вывод

Высшая школа экономики, Москва, 2013

Конвейер рендеринга. Триангуляция

Разбиение моделей на треугольники

Любую область можно гарантированно разбить на треугольники (ZIP-теорема Конвея)

Проще разбивать на треугольники, нежели на другие полигоны (метод Делоне)

Высшая школа экономики, Москва, 2013

Конвейер рендеринга. Триангуляция

Метод Делоне Диаграмма Вороного

Высшая школа экономики, Москва, 2013

Конвейер рендеринга. Триангуляция

Высшая школа экономики, Москва, 2013

Конвейер рендеринга. Триангуляция

Высшая школа экономики, Москва, 2013

Конвейер рендеринга. Трансформация объектов

Применение матриц преобразования к объектам (поворот, растяжение, перемещение)

Высшая школа экономики, Москва, 2013

Конвейер рендеринга.

Обработка вершин•Задаются цвета и другие параметры вертексов•Обрабатываются вертексные шейдеры

Трансформация вида•Переход от системы координат сцены к системе координат камеры

Проекция сцены•Проекция 3D-сцены на 2D-пиксельную сетку монитора

Высшая школа экономики, Москва, 2013

Конвейер рендеринга.

Clipping (отсечение)Невидимые части объектов отсекаются

РастеризацияОпределение значений пикселей и занесение в Z-buffer значения глубины

Высшая школа экономики, Москва, 2013

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

Обработка света

Высшая школа экономики, Москва, 2013

Обработка света

• Lightmapping• Shadow Volumes• Ray Tracing и Reverse ray tracing• Occulsion mapping• Photon mapping

Высшая школа экономики, Москва, 2013

Lightmap

• Меняется цвет и освещённость текстуры

Высшая школа экономики, Москва, 2013

Shadow Volumes

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

Высшая школа экономики, Москва, 2013

Shadow Volumes

Справа показано, как распространяются проекции теневых объёмов от источника света

Высшая школа экономики, Москва, 2013

Ray Tracing и Reverse Ray Tracing

• Если совсем просто: каждый пиксель экрана – это луч, направленный в трёхмерную сцену. При пересечении с объектом высчитывается цвет этого пикселя с учётом коэффициентов отражения, преломления и цвета самой текстуры.

Высшая школа экономики, Москва, 2013

Ray Tracing и Reverse Ray Tracing

Высшая школа экономики, Москва, 2013

Дополнительные фишки

Дополнительно

Высшая школа экономики, Москва, 2013

Дополнительные методы и алгоритмы

• Методы построения 3D-объектов– NURBS– Voxels

• Anti-Aliasing• Motion Blur• HDR

Высшая школа экономики, Москва, 2013

NURBS

• NURBS – Non-uniform rational B-splines. Неоднородные рациональные B-сплайны. Метод построения криволинейных поверхностей. Основан на B-сплайнах и кривых Безье.

Высшая школа экономики, Москва, 2013

NURBS

Высшая школа экономики, Москва, 2013

Voxels

• Voxel – Volumetric pixel, по аналогии с обычным пикселем – из вокселей могут строится трёхмерные объекты. Может быть кубом, сферой или другим примитивом. Не нуждается в текстурировании.

Высшая школа экономики, Москва, 2013

Voxels

Высшая школа экономики, Москва, 2013

Anti-aliasing

• Anti-aliasing – технология, используемая для устранения эффекта «зубчатости», возникающего на краях одновременно выводимого на экран множества отдельных друг от друга плоских, или объёмных изображений.

Высшая школа экономики, Москва, 2013

Anti-aliasing

Recommended