Лекция для студентов 2-го курса по трёхмерной графике
1 of 55
Downloaded 16 times
More Related Content
Лекция по Трёхмерной графике
1. ИНЖЕНЕРНАЯ И КОМПЬЮТЕРНАЯ
ГРАФИКА
2 КУРС
ТРЁХМЕРНАЯ ГРАФИКА
Соболевский Алексей
Высшая школа экономики, Москва, 2013
www.hse.ru
2. Темы лекции
• Что такое трёхмерная графика?
• История трёхмерной графики
• Основные понятия 3D-графики
• Конвейер рендеринга
• Основные алгоритмы 3D-объектами
• Дополнительные фишки
Высшая школа экономики, Москва, 2013
3. 3D GRAPHPHPHPHPHICZZZZ
3D-графика
Раздел компьютерной графики, совокупность приемов и
инструментов (как программных, так и аппаратных),
предназначенных для изображения объёмных объектов.
Высшая школа экономики, Москва, 2013
6. Немного истории
Иван Сазерленд
•Создатель Sketchpad (1962 год)
•Основатель первой кафедры Компьютерной графики
•Ведущий специалист в области КГ
Эд Катмолл
•Создатель первых алгоритмов битовой глубины и
текстурирования
•Технический директор Pixar
Высшая школа экономики, Москва, 2013
7. Немного истории
Джим Блинн
Создатель Bump Mapping и Environment Mapping
Би Тюн Фонг
Phong Shading
Анри Гюра
Gouraud Shading
Высшая школа экономики, Москва, 2013
9. Немного истории
• 1976 год
Первый фильм, в котором использовалась 3D-графика
• Первая программа 3D-моделирования
MAGI (процедрурная)
• Алгоритм трассировки лучей
• Появление полигонального метода
моделирования
• Power Animator (SGI-станции, Irix OS)
Высшая школа экономики, Москва, 2013
10. Основные понятия 3D-графики
• Полигон
• Вертекс
• Текстура
• Шейдер
• Буфер глубины и буфер кадра
• Рендеринг
Высшая школа экономики, Москва, 2013
11. Полигон
• Произвольный плоский многоугольник
являющийся частью грани или поверхности
• В основном, треугольник
Высшая школа экономики, Москва, 2013
12. Вершина
• Вершина полигона
• Массивы вертексов (вместо массивов
полигонов)
• Преобразование объектов
Высшая школа экономики, Москва, 2013
13. Вершина
• Позиция
• Нормаль
• Цвет
• Координаты текстуры
Высшая школа экономики, Москва, 2013
21. Текстурирование
• Parallax mapping – работает как
фрагментный (пиксельный) шейдер
• Displacement mapping – работает как
вершинный (вертексный) шейдер
Высшая школа экономики, Москва, 2013
22. Шейдеры
Программа для одной из ступеней графического конвейера,
используемая в трёхмерной графике для определения
окончательных параметров объекта или изображения. Она
может включать в себя произвольной сложности описание
поглощения и рассеяния света, наложения текстуры,
отражение и преломление, затемнение, смещение
поверхности и эффекты пост-обработки. (с) Wiki
Высшая школа экономики, Москва, 2013
23. Шейдеры
• Вершинные шейдеры
• Изменение параметров вершин
• Геометрические шейдеры
• Пиксельные шейдеры
• Изменение параметров пикселей при выводе
• Возможность производить попиксельное освещение
• Создание эффектов с частицами
Высшая школа экономики, Москва, 2013
25. Буфер глубины и буфер кадра
Буфер глубины - способ учёта удалённости элемента
изображения
По сути, это массив, записывающий удалённость объектов
сцены от камеры
Высшая школа экономики, Москва, 2013
26. Буфер глубины и буфер кадра
Высшая школа экономики, Москва, 2013
27. Буфер глубины и буфер кадра
Высшая школа экономики, Москва, 2013
28. Буфер глубины и буфер кадра
Высшая школа экономики, Москва, 2013
29. Буфер глубины и буфер кадра
Высшая школа экономики, Москва, 2013
32. Конвейер рендеринга
Это стандартный алгоритм
Вход конвейера – данные о 3D сцене (свет, объекты,
текстуры, шейдеры, типы затенения и освещения и т.п.)
Выход конвейера – 2D картинка на мониторе
Высшая школа экономики, Москва, 2013
33. Конвейер рендеринга
• Триангуляция (Triangle Setup)
• Трансформация объектов
• Обработка вершин
• Трансформация вида
• Проекция сцены
• Отсечение невидимых частей
• Растеризация
• Обработка пикселей
• Вывод
Высшая школа экономики, Москва, 2013
34. Конвейер рендеринга. Триангуляция
Разбиение моделей на треугольники
Любую область можно гарантированно разбить на
треугольники (ZIP-теорема Конвея)
Проще разбивать на треугольники, нежели на другие
полигоны (метод Делоне)
Высшая школа экономики, Москва, 2013
38. Конвейер рендеринга. Трансформация
объектов
Применение матриц преобразования к объектам (поворот,
растяжение, перемещение)
Высшая школа экономики, Москва, 2013
39. Конвейер рендеринга.
Обработка вершин
•Задаются цвета и другие параметры вертексов
•Обрабатываются вертексные шейдеры
Трансформация вида
•Переход от системы координат сцены к системе координат
камеры
Проекция сцены
•Проекция 3D-сцены на 2D-пиксельную сетку монитора
Высшая школа экономики, Москва, 2013
40. Конвейер рендеринга.
Clipping (отсечение)
Невидимые части объектов отсекаются
Растеризация
Определение значений пикселей и занесение в Z-buffer
значения глубины
Высшая школа экономики, Москва, 2013
42. Обработка света
• Lightmapping
• Shadow Volumes
• Ray Tracing и Reverse ray tracing
• Occulsion mapping
• Photon mapping
Высшая школа экономики, Москва, 2013
43. Lightmap
• Меняется цвет и освещённость текстуры
Высшая школа экономики, Москва, 2013
44. Shadow Volumes
• В самом простом случае: всё, что находится за
освещённым объектом – чёрное. Очень жёсткие
тени. Сложности с воспроизведением
рассеивания света
Высшая школа экономики, Москва, 2013
45. Shadow Volumes
Справа показано, как распространяются проекции теневых объёмов от источника света
Высшая школа экономики, Москва, 2013
46. Ray Tracing и Reverse Ray Tracing
• Если совсем просто: каждый пиксель экрана – это
луч, направленный в трёхмерную сцену. При
пересечении с объектом высчитывается цвет
этого пикселя с учётом коэффициентов
отражения, преломления и цвета самой текстуры.
Высшая школа экономики, Москва, 2013
47. Ray Tracing и Reverse Ray Tracing
Высшая школа экономики, Москва, 2013
49. Дополнительные методы и алгоритмы
• Методы построения 3D-объектов
– NURBS
– Voxels
• Anti-Aliasing
• Motion Blur
• HDR
Высшая школа экономики, Москва, 2013
50. NURBS
• NURBS – Non-uniform rational B-splines.
Неоднородные рациональные B-сплайны. Метод
построения криволинейных поверхностей.
Основан на B-сплайнах и кривых Безье.
Высшая школа экономики, Москва, 2013
52. Voxels
• Voxel – Volumetric pixel, по аналогии с обычным
пикселем – из вокселей могут строится
трёхмерные объекты. Может быть кубом, сферой
или другим примитивом. Не нуждается в
текстурировании.
Высшая школа экономики, Москва, 2013
54. Anti-aliasing
• Anti-aliasing – технология, используемая для
устранения эффекта «зубчатости», возникающего
на краях одновременно выводимого на экран
множества отдельных друг от друга плоских, или
объёмных изображений.
Высшая школа экономики, Москва, 2013