3d-графика. ЗИЛ
TRANSCRIPT
Высшая школа экономики, Москва, 2013
О чём лекция?
• Об истории• О 3D-графике• Об инженерах• О мыслях, помыслах и домыслах
инженеров• О жизни, вселенной и вообще
Высшая школа экономики, Москва, 2013
Основные понятия 3D-графики (условно)
• Полигон• Вертекс• Текстура• Шейдер• Буфер глубины и буфер кадра• Рендеринг
Высшая школа экономики, Москва, 2013
• Ставил эксперименты на прямых и точках (стереометрия)
• Изучал двумерные фигуры (планиметрия)
• Ввёл аксиомы для формализации пространств
Евклид
Высшая школа экономики, Москва, 2013
• Формализовал алгебру (символьный анализ)
• Научил находить корни квадратного уравнения (и не только)
• Первый пример бесконечного произведения
Франсуа Виет (1540 – 1603)
Высшая школа экономики, Москва, 2013
• Философ, математик, механик, физик и физиолог
• Рассуждал о методе. Написал книгу
• Объяснил графики лучше чертить в тетради в клеточку
Кто это?
Высшая школа экономики, Москва, 2013
• Основоположник аналитической геометрии
• Создатель метода координат
Рене Декарт (1596 – 1650)
Высшая школа экономики, Москва, 2013
Леонард Эйлер (1707 – 1783)
• Положил начало топологии• Первый учебник по
аналитической геометрии и основам дифференциальной геометрии
• Разворачивал трёхмерные поверхности на плоскость
• Отлично рисовал круги
Высшая школа экономики, Москва, 2013
Борис Делоне, Георгий Вороной
• Создатель метода триангуляции
• Создатель «Диаграмы Вороного»
Высшая школа экономики, Москва, 2013
Алан Тьюринг (1912 – 1954)
• Создатель «Машины Тьюринга» (24 года)
• Входил в группу разработчиков «Манчестерских компьютеров» (36 лет)
• Участвовал в разработке первого транзисторного компьютера
Высшая школа экономики, Москва, 2013
Даммер, Шокли, Бардин, Браттейн
• Один из основоположников микрочипов и интегральных схем
• Нобелевская премия за создание биполярных транзисторов
Высшая школа экономики, Москва, 2013
Наконец-то 3D!
3D-графикаРаздел компьютерной графики, совокупность приемов и инструментов (как программных, так и аппаратных), предназначенных для изображения объёмных объектов.
Высшая школа экономики, Москва, 2013
Современные гуру
Иван Сазерленд•Создатель Sketchpad (1962 год)•Основатель первой кафедры Компьютерной графики
Эд Катмолл•Создатель первых алгоритмов битовой глубины и текстурирования•Технический директор Pixar
Высшая школа экономики, Москва, 2013
Современные гуру
Джим БлиннСоздатель Bump Mapping и Environment Mapping
Би Тюн ФонгPhong Shading
Анри ГюраGouraud Shading
Высшая школа экономики, Москва, 2013
Немного об алгоритмах
— вектор нормали
— направление проецирования
— коэффициент фонового освещения
— коэффициент зеркального освещения
— коэффициент диффузного освещения
Высшая школа экономики, Москва, 2013
Пьер Безье (1910 – 1999)
• Частный случай многочленов Бернштейна
Высшая школа экономики, Москва, 2013
Ещё немного истории
• 1976 годПервый фильм, в котором использовалась 3D-графики, Futureworld
• Первая программа 3D-моделирования MAGI (процедрурная)
• Алгоритм трассировки лучей• Появление полигонального метода
моделирования• Power Animator (SGI-станции, Irix OS)
Высшая школа экономики, Москва, 2013
Главное событие 3D графики
Главное событие в истории 3D графики
Высшая школа экономики, Москва, 2013
Тем временем...
• MDA (Monochrome Display Adapter)• CGA (Color Graphics Adapter, 4 бита, 16 цветов, 1981 г.)• EGA (Enhanced Graphics Adapter, 64 цвета, 1984 г.)• VGA (Video Graphics Array, 1987 г.)
– Графический контроллер– видеопамять – последовательный преобразователь – контроллер атрибутов – Синхронизатор– контроллер ЭЛТ
Высшая школа экономики, Москва, 2013
Видеокарты/ускорители
Раньше было:Видеокарта (2D) + ускоритель (3D)
Сейчас:Видеокарта (3D) + сопроцессоры (Shaders, Physics)
Высшая школа экономики, Москва, 2013
Voodoo 2 (1998)
Pixel Fill Rate: 90 Mil/sMemory/core clock: 90 MHzDisplay out: 16 bit
Высшая школа экономики, Москва, 2013
GeForce GTX Titan (2013)
Pixel Fill Rate: 40 000 Mil/sCore clock: 837 MHzMemory clock: 6008 Mhz
Высшая школа экономики, Москва, 2013
Текстурирование сейчас
• Normal Mapping• Parallax Mapping• Bump Mapping• Environment Mapping• Displacement Mapping• Mipmapping• …
Высшая школа экономики, Москва, 2013
Буфер глубины (1974) и буфер кадра
Буфер глубины - способ учёта удалённости элемента изображения
По сути, это массив, записывающий удалённость объектов сцены от камеры
Высшая школа экономики, Москва, 2013
Конвейер рендеринга
Это стандартный алгоритм
Вход конвейера – данные о 3D сцене (свет, объекты, текстуры, шейдеры, типы затенения и освещения и т.п.)
Выход конвейера – 2D картинка на мониторе
Высшая школа экономики, Москва, 2013
Конвейер рендеринга (раньше)
• Триангуляция (Triangle Setup)
• Трансформация объектов
• Обработка вершин
• Трансформация вида
• Проекция сцены
• Отсечение невидимых частей
• Растеризация
• Обработка пикселей
• Вывод
Высшая школа экономики, Москва, 2013
Обработка света
• Lightmapping• Shadow Volumes• Ray Tracing и Reverse ray tracing• Occulsion mapping• Photon mapping
Высшая школа экономики, Москва, 2013
Shadow Volumes
• В самом простом случае: всё, что находится за освещённым объектом – чёрное. Очень жёсткие тени. Сложности с воспроизведением рассеивания света
Высшая школа экономики, Москва, 2013
Shadow Volumes
Справа показано, как распространяются проекции теневых объёмов от источника света
Высшая школа экономики, Москва, 2013
Ray Tracing и Reverse Ray Tracing
• Если совсем просто: каждый пиксель экрана – это луч, направленный в трёхмерную сцену. При пересечении с объектом высчитывается цвет этого пикселя с учётом коэффициентов отражения, преломления и цвета самой текстуры.
Высшая школа экономики, Москва, 2013
Дополнительные методы и алгоритмы
• Методы построения 3D-объектов– NURBS– Voxels
• Anti-Aliasing• Motion Blur• HDR
Высшая школа экономики, Москва, 2013
Voxels
• Voxel – Volumetric pixel, по аналогии с обычным пикселем – из вокселей могут строится трёхмерные объекты. Может быть кубом, сферой или другим примитивом. Не нуждается в текстурировании.
Высшая школа экономики, Москва, 2013
Anti-aliasing
• Anti-aliasing – технология, используемая для устранения эффекта «зубчатости», возникающего на краях одновременно выводимого на экран множества отдельных друг от друга плоских, или объёмных изображений.
Высшая школа экономики, Москва, 2013
Вернёмся к истории (кино)
• 12,7 млн. полигонов• 1 кадр – до 72 часов рендеринга
Высшая школа экономики, Москва, 2013
Видеокарта сейчас
• Около 4 000 000 000 транзисторов на одной плате• Около 1 000 ядер на обработку• Отдельные блоки для буферизации, растеризации,
обработки команд CUDA, Direct 3D, Open CL, Open GL• Сенсоры, датчики, обработчики ошибок, синхронизация,
доп. интерфейсы• Техпроцесс 20 нм