ݺߣ

ݺߣShare a Scribd company logo
ИНЖЕНЕРНАЯ И КОМПЬЮТЕРНАЯ 
ГРАФИКА 
2 КУРС 
ТРЁХМЕРНАЯ ГРАФИКА 
Соболевский Алексей 
Высшая школа экономики, Москва, 2013 
www.hse.ru
Темы лекции 
• Что такое трёхмерная графика? 
• История трёхмерной графики 
• Основные понятия 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 
Высшая школа экономики, Москва, 2013

More Related Content

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

  • 1. ИНЖЕНЕРНАЯ И КОМПЬЮТЕРНАЯ ГРАФИКА 2 КУРС ТРЁХМЕРНАЯ ГРАФИКА Соболевский Алексей Высшая школа экономики, Москва, 2013 www.hse.ru
  • 2. Темы лекции • Что такое трёхмерная графика? • История трёхмерной графики • Основные понятия 3D-графики • Конвейер рендеринга • Основные алгоритмы 3D-объектами • Дополнительные фишки Высшая школа экономики, Москва, 2013
  • 3. 3D GRAPHPHPHPHPHICZZZZ 3D-графика Раздел компьютерной графики, совокупность приемов и инструментов (как программных, так и аппаратных), предназначенных для изображения объёмных объектов. Высшая школа экономики, Москва, 2013
  • 4. 3D GRAPHPHPHPHPHICZZZZ Высшая школа экономики, Москва, 2013
  • 5. 3D GRAPHPHPHPHPHICZZZZ Высшая школа экономики, Москва, 2013
  • 6. Немного истории Иван Сазерленд •Создатель Sketchpad (1962 год) •Основатель первой кафедры Компьютерной графики •Ведущий специалист в области КГ Эд Катмолл •Создатель первых алгоритмов битовой глубины и текстурирования •Технический директор Pixar Высшая школа экономики, Москва, 2013
  • 7. Немного истории Джим Блинн Создатель Bump Mapping и Environment Mapping Би Тюн Фонг Phong Shading Анри Гюра Gouraud Shading Высшая школа экономики, Москва, 2013
  • 8. Немного истории Высшая школа экономики, Москва, 2013
  • 9. Немного истории • 1976 год Первый фильм, в котором использовалась 3D-графика • Первая программа 3D-моделирования MAGI (процедрурная) • Алгоритм трассировки лучей • Появление полигонального метода моделирования • Power Animator (SGI-станции, Irix OS) Высшая школа экономики, Москва, 2013
  • 10. Основные понятия 3D-графики • Полигон • Вертекс • Текстура • Шейдер • Буфер глубины и буфер кадра • Рендеринг Высшая школа экономики, Москва, 2013
  • 11. Полигон • Произвольный плоский многоугольник являющийся частью грани или поверхности • В основном, треугольник Высшая школа экономики, Москва, 2013
  • 12. Вершина • Вершина полигона • Массивы вертексов (вместо массивов полигонов) • Преобразование объектов Высшая школа экономики, Москва, 2013
  • 13. Вершина • Позиция • Нормаль • Цвет • Координаты текстуры Высшая школа экономики, Москва, 2013
  • 14. Полигональная сетка Высшая школа экономики, Москва, 2013
  • 15. Вершина Высшая школа экономики, Москва, 2013
  • 16. Текстура • Растровое изображение • Отвечает за цвет и псевдообъём • Состоит из текселей Высшая школа экономики, Москва, 2013
  • 17. Текстурирование • Normal Mapping • Parallax Mapping • Bump Mapping • Environment Mapping • Displacement Mapping • Mipmapping • … Высшая школа экономики, Москва, 2013
  • 18. Текстурирование Высшая школа экономики, Москва, 2013
  • 19. Текстурирование Высшая школа экономики, Москва, 2013
  • 20. Текстурирование Высшая школа экономики, Москва, 2013
  • 21. Текстурирование • Parallax mapping – работает как фрагментный (пиксельный) шейдер • Displacement mapping – работает как вершинный (вертексный) шейдер Высшая школа экономики, Москва, 2013
  • 22. Шейдеры Программа для одной из ступеней графического конвейера, используемая в трёхмерной графике для определения окончательных параметров объекта или изображения. Она может включать в себя произвольной сложности описание поглощения и рассеяния света, наложения текстуры, отражение и преломление, затемнение, смещение поверхности и эффекты пост-обработки. (с) Wiki Высшая школа экономики, Москва, 2013
  • 23. Шейдеры • Вершинные шейдеры • Изменение параметров вершин • Геометрические шейдеры • Пиксельные шейдеры • Изменение параметров пикселей при выводе • Возможность производить попиксельное освещение • Создание эффектов с частицами Высшая школа экономики, Москва, 2013
  • 24. Шейдеры Высшая школа экономики, Москва, 2013
  • 25. Буфер глубины и буфер кадра Буфер глубины - способ учёта удалённости элемента изображения По сути, это массив, записывающий удалённость объектов сцены от камеры Высшая школа экономики, Москва, 2013
  • 26. Буфер глубины и буфер кадра Высшая школа экономики, Москва, 2013
  • 27. Буфер глубины и буфер кадра Высшая школа экономики, Москва, 2013
  • 28. Буфер глубины и буфер кадра Высшая школа экономики, Москва, 2013
  • 29. Буфер глубины и буфер кадра Высшая школа экономики, Москва, 2013
  • 30. Рендеринг РЕНДЕРИНГ Высшая школа экономики, Москва, 2013
  • 31. Рендеринг Получение изображения из модели (не обязательно 3D) Высшая школа экономики, Москва, 2013
  • 32. Конвейер рендеринга Это стандартный алгоритм Вход конвейера – данные о 3D сцене (свет, объекты, текстуры, шейдеры, типы затенения и освещения и т.п.) Выход конвейера – 2D картинка на мониторе Высшая школа экономики, Москва, 2013
  • 33. Конвейер рендеринга • Триангуляция (Triangle Setup) • Трансформация объектов • Обработка вершин • Трансформация вида • Проекция сцены • Отсечение невидимых частей • Растеризация • Обработка пикселей • Вывод Высшая школа экономики, Москва, 2013
  • 34. Конвейер рендеринга. Триангуляция Разбиение моделей на треугольники Любую область можно гарантированно разбить на треугольники (ZIP-теорема Конвея) Проще разбивать на треугольники, нежели на другие полигоны (метод Делоне) Высшая школа экономики, Москва, 2013
  • 35. Конвейер рендеринга. Триангуляция Метод Делоне Диаграмма Вороного Высшая школа экономики, Москва, 2013
  • 36. Конвейер рендеринга. Триангуляция Высшая школа экономики, Москва, 2013
  • 37. Конвейер рендеринга. Триангуляция Высшая школа экономики, Москва, 2013
  • 38. Конвейер рендеринга. Трансформация объектов Применение матриц преобразования к объектам (поворот, растяжение, перемещение) Высшая школа экономики, Москва, 2013
  • 39. Конвейер рендеринга. Обработка вершин •Задаются цвета и другие параметры вертексов •Обрабатываются вертексные шейдеры Трансформация вида •Переход от системы координат сцены к системе координат камеры Проекция сцены •Проекция 3D-сцены на 2D-пиксельную сетку монитора Высшая школа экономики, Москва, 2013
  • 40. Конвейер рендеринга. Clipping (отсечение) Невидимые части объектов отсекаются Растеризация Определение значений пикселей и занесение в Z-buffer значения глубины Высшая школа экономики, Москва, 2013
  • 41. Текстурирование Обработка света Высшая школа экономики, Москва, 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
  • 48. Дополнительные фишки Дополнительно Высшая школа экономики, Москва, 2013
  • 49. Дополнительные методы и алгоритмы • Методы построения 3D-объектов – NURBS – Voxels • Anti-Aliasing • Motion Blur • HDR Высшая школа экономики, Москва, 2013
  • 50. NURBS • NURBS – Non-uniform rational B-splines. Неоднородные рациональные B-сплайны. Метод построения криволинейных поверхностей. Основан на B-сплайнах и кривых Безье. Высшая школа экономики, Москва, 2013
  • 51. NURBS Высшая школа экономики, Москва, 2013
  • 52. Voxels • Voxel – Volumetric pixel, по аналогии с обычным пикселем – из вокселей могут строится трёхмерные объекты. Может быть кубом, сферой или другим примитивом. Не нуждается в текстурировании. Высшая школа экономики, Москва, 2013
  • 53. Voxels Высшая школа экономики, Москва, 2013
  • 54. Anti-aliasing • Anti-aliasing – технология, используемая для устранения эффекта «зубчатости», возникающего на краях одновременно выводимого на экран множества отдельных друг от друга плоских, или объёмных изображений. Высшая школа экономики, Москва, 2013
  • 55. Anti-aliasing Высшая школа экономики, Москва, 2013