Скачать презентацию Трассировка лучей Алгоритмы поиска пересечений Алексей Игнатенко Лекция Скачать презентацию Трассировка лучей Алгоритмы поиска пересечений Алексей Игнатенко Лекция

86e96b29824b412b4ad1fda7a8f8e374.ppt

  • Количество слайдов: 79

Трассировка лучей. Алгоритмы поиска пересечений Алексей Игнатенко Лекция 8 30 ноября 2006 Трассировка лучей. Алгоритмы поиска пересечений Алексей Игнатенко Лекция 8 30 ноября 2006

На прошлой лекции n Полигональные модели q Текстура используется как средство передачи освещения и На прошлой лекции n Полигональные модели q Текстура используется как средство передачи освещения и параметров материала n n n Проективные текстуры Световые поля как текстуры Точечные модели n Подходят для сложных моделей q n 30 ноября 2006 Проще в обработке, быстрее в визуализации Проблема реконструкции поверхности приближении Основы синтеза изображений 2

На лекции n n Трассировка лучей. Сравнение с алгоритмами растеризации Методы поиска пересечений Интерактивная На лекции n n Трассировка лучей. Сравнение с алгоритмами растеризации Методы поиска пересечений Интерактивная трассировка лучей 30 ноября 2006 Основы синтеза изображений 3

Часть 1/3 ТРАССИРОВКА VS. РАСТЕРИЗАЦИЯ 30 ноября 2006 Основы синтеза изображений 4 Часть 1/3 ТРАССИРОВКА VS. РАСТЕРИЗАЦИЯ 30 ноября 2006 Основы синтеза изображений 4

Экранизация в компьютерной графике Два основных подхода Растеризация: Трассировка лучей: Прямая проекция геометрии 30 Экранизация в компьютерной графике Два основных подхода Растеризация: Трассировка лучей: Прямая проекция геометрии 30 ноября 2006 Обратная проекция пикселей изображения Основы синтеза изображений 5

Растеризация n Конвейер q q n Успешная технология Аппаратная поддержка Достоинства q q q Растеризация n Конвейер q q n Успешная технология Аппаратная поддержка Достоинства q q q Приложение Вершинная программа Простой и проверенный алгоритм Растеризация Все быстрее и быстрее Фрагментная программа Полная программируемость уже скоро Фрагментные тесты Буфер кадра 30 ноября 2006 Основы синтеза изображений 6

Растеризация: особенности n Базовая операция всей компьютерной графики q n Построчное сканирование по треугольнику Растеризация: особенности n Базовая операция всей компьютерной графики q n Построчное сканирование по треугольнику Последовательная обработка всех треугольников по одному q è Невозможно работать более, чем с одним треугольником за раз Но большинство реалистичных эффектов требуют доступа ко всей сцене: тени, отражения, глобальное освещение! 30 ноября 2006 Основы синтеза изображений 7

Трассировка лучей Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября 2006 Основы Трассировка лучей Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября 2006 Основы синтеза изображений 8

Трассировка лучей Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября 2006 Основы Трассировка лучей Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября 2006 Основы синтеза изображений 9

Трассировка лучей Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября 2006 Основы Трассировка лучей Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября 2006 Основы синтеза изображений 10

Трассировка лучей: трассирование луча Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября Трассировка лучей: трассирование луча Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября 2006 Основы синтеза изображений 11

Трассировка лучей : трассирование луча Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 Трассировка лучей : трассирование луча Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября 2006 Основы синтеза изображений 12

Трассировка лучей Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября 2006 Основы Трассировка лучей Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября 2006 Основы синтеза изображений 13

Трассировка лучей Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября 2006 Основы Трассировка лучей Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября 2006 Основы синтеза изображений 14

Трассировка лучей Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября 2006 Основы Трассировка лучей Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября 2006 Основы синтеза изображений 15

Трассировка лучей Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября 2006 Основы Трассировка лучей Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября 2006 Основы синтеза изображений 16

Трассировка лучей Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября 2006 Основы Трассировка лучей Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября 2006 Основы синтеза изображений 17

Трассировка лучей Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября 2006 Основы Трассировка лучей Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября 2006 Основы синтеза изображений 18

Трассировка лучей Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября 2006 Основы Трассировка лучей Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября 2006 Основы синтеза изображений 19

Трассировка лучей Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября 2006 Основы Трассировка лучей Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра 30 ноября 2006 Основы синтеза изображений 20

Трассировка лучей: свойства • Глобальное освещение • Параллелизм • Расширямость • Вычисления только по Трассировка лучей: свойства • Глобальное освещение • Параллелизм • Расширямость • Вычисления только по запросу • Попиксельные операции 30 ноября 2006 Основы синтеза изображений 21

Растеризация vs. Трассировка лучей n Определение: растеризация Дан набор лучей и притимивов, вычислить подмножество Растеризация vs. Трассировка лучей n Определение: растеризация Дан набор лучей и притимивов, вычислить подмножество лучей, пересекающихся с примитивом 2 D сетка (экран) как индекс n Определение: трассировка лучей Дан луч и набор примитивов, вычислить подмножество примитивов, пересекающихся с лучом 3 D иерархическая структура как индекс 30 ноября 2006 Основы синтеза изображений 22

Растеризация vs. Трассировка лучей n 3 D индекс в мировом пространстве q q q Растеризация vs. Трассировка лучей n 3 D индекс в мировом пространстве q q q n Ограничивает динамику сцены (перестройка) Масштабируемость O(log n) Произвольные наборы лучей 2 D сетка в пространстве экрана q Регулярная дискретизация 30 ноября 2006 Основы синтеза изображений 23

Растеризация vs. Трассировка лучей n Слияние: 2 D-сетка + 3 D-структура в мировом пространстве Растеризация vs. Трассировка лучей n Слияние: 2 D-сетка + 3 D-структура в мировом пространстве q q Растеризация становится ближе к трассировке Те же самые ограничения (динамика сцены) n q Но индекс может быть менее детализированным Вычисления делятся на аппаратные и программные è Увеличение сложности, вопросы обмена данными. . . 30 ноября 2006 Основы синтеза изображений 24

Растеризация vs. Трассировка лучей n Попиксельная эффективность q q Функции тонирования имеют одинаковую сложность Растеризация vs. Трассировка лучей n Попиксельная эффективность q q Функции тонирования имеют одинаковую сложность Растеризация n Инкрементное вычисление между пикселями q n q Строчная развертка Лишние операции из-за z-буфера (overdraw) Трассировка n n Нет инкрементных вычислений Нет лишних операций 30 ноября 2006 Основы синтеза изображений 25

Растеризация vs. Трассировка лучей n Достоинства вычислений «по запросу» q Только требуемые вычисления n Растеризация vs. Трассировка лучей n Достоинства вычислений «по запросу» q Только требуемые вычисления n n q Не требуется передискретизация данных n q эффективность Пример: не нужно вычислять всю карту освещения точность Подгрузка данных только по требованию ресурсы 30 ноября 2006 Основы синтеза изображений 26

Растеризация vs. Трассировка лучей n Аппаратная поддержка q Растеризация имеет полную аппаратную поддержку n Растеризация vs. Трассировка лучей n Аппаратная поддержка q Растеризация имеет полную аппаратную поддержку n n q Быстрое развитие Высокая производительность, параллелизм, поточная обработка Трассировка в основном реализуется программно n Требуются гибкие потоки управления, рекурсия, гибкий ввод/вывод Требуется виртуальная память, инкреметная подгрузка Требуется полная поддержка циклов Сильно зависит от кэширования n Нет аппаратной поддержки n n n 30 ноября 2006 Основы синтеза изображений 27

Часть 2/3 ОСНОВЫ ТРАССИРОВКИ И АЛГОРИТМЫ ПОИСКА ПЕРЕСЕЧЕНИЙ 30 ноября 2006 Основы синтеза изображений Часть 2/3 ОСНОВЫ ТРАССИРОВКИ И АЛГОРИТМЫ ПОИСКА ПЕРЕСЕЧЕНИЙ 30 ноября 2006 Основы синтеза изображений 28

Трассировка поверхностей n n Предположение: пустое пространство полностью прозрачно Поверхности q n Материалы поверхностей Трассировка поверхностей n n Предположение: пустое пространство полностью прозрачно Поверхности q n Материалы поверхностей q n Трехмерные геометрические модели объектов Отражение, поглощение, пропускание и т. п. Освещение q Положение и характеристики источников света 30 ноября 2006 Основы синтеза изображений 29

Основные шаги n Генерация первичных лучей q n Трассировка лучей q n Rays from Основные шаги n Генерация первичных лучей q n Трассировка лучей q n Rays from viewpoint into 3 D scene Первое пересечение с геометрией сцены Тонирование q q Излучение (radiance) переносится с лучом В точке пересечения входящее излучение вычисляется с помощью дополнительных лучей 30 ноября 2006 Основы синтеза изображений 30

Генерация лучей n Камера-обскура q q q o: Центр проекции (наблюдатель) f: Вектор зрения Генерация лучей n Камера-обскура q q q o: Центр проекции (наблюдатель) f: Вектор зрения (фокусное расстояние) x, y: Оконные координаты xres, yres: Размер изображения x y u d f o 30 ноября 2006 Основы синтеза изображений 31

Ray Generation n Камера-обскура for (x= 0; x < xres; x++) for (y= 0; Ray Generation n Камера-обскура for (x= 0; x < xres; x++) for (y= 0; y < yres; y++) { d= f + 2(x/xres - 0. 5) x + 2(y/yres - 0. 5) y; d= d/|d|; // Normalize col= trace(o, d); write_pixel(x, y, col); } x y u d f o 30 ноября 2006 Основы синтеза изображений 32

Представления луча и объектов n Луч: r(t)=o+t d q n o=(ox, oy, oz), d=(dx, Представления луча и объектов n Луч: r(t)=o+t d q n o=(ox, oy, oz), d=(dx, dy, dz) Геометрия сцены q Plane: (p-a)·n=0 n q Sphere: (p-c)·(p-c)-r 2=0 n q Implicit definition (n : surface normal, a : point one surface ) c : sphere center, r : sphere radius Triangles: Plane plus 2 D coordinates 30 ноября 2006 Основы синтеза изображений 33

Пересечение луча со сферой n Сфера q q q Сфера в начале координат (x Пересечение луча со сферой n Сфера q q q Сфера в начале координат (x 2 + y 2 + z 2 - 1= 0) Подставляем уравнение для луча t 2(dx 2 + dy 2 + dz 2) + 2 t (dxox + dyoy + dzoz) + (ox 2 + oy 2 + oz 2) – 1 = 0 Вариант: геометрическая задача d 30 ноября 2006 Основы синтеза изображений R o 34

Пересечение луча с плоскостью n Плоскость q Уравнение плоскости: p·n - D = 0, Пересечение луча с плоскостью n Плоскость q Уравнение плоскости: p·n - D = 0, |n| = 1 n n n 30 ноября 2006 Неявное представление Нормаль: n Перпендикуляр до (0, 0, 0): D Заменяем o + td на p (o + td)·n – D = 0 Решаем для t: Основы синтеза изображений 35

Пересечение луча с треугольником n Барицентрические координаты q q q Невырожденный трк. ABC P= Пересечение луча с треугольником n Барицентрические координаты q q q Невырожденный трк. ABC P= 1 A + 2 B + 3 C 1 + 2 + 3 = 1 3 = (APB) / (ACB) etc n Relative area C 1 P 0 3 B A n Пересечение, если все i >= 0 30 ноября 2006 Основы синтеза изображений 36

Пересечение луча с треугольником n n Пересечение с плоскостью треугольника Дана 3 D-точка пересечения Пересечение луча с треугольником n n Пересечение с плоскостью треугольника Дана 3 D-точка пересечения q q q n Спроецировать точку на плоскость xy, xz, yz Можно использовать любую n плоскостью Плоскость и 2 D-положения вершин можно вычислить заранее Провести барицентрический тест 30 ноября 2006 Основы синтеза изображений 37

Проблема точности 30 ноября 2006 Основы синтеза изображений 38 Проблема точности 30 ноября 2006 Основы синтеза изображений 38

Ускорение трассировки n Пересечение луча со всеми объектами и сортировка для поиска ближайшего пересечения Ускорение трассировки n Пересечение луча со всеми объектами и сортировка для поиска ближайшего пересечения q n Ускорение алгоритма пересечения q n Очень дорого! Небольшой эффект Уменьшение количества пересечений q Разбиение пространства (часто иерархическое) n n Сетки, октодеревья, BSD и kd-деревья, деревья ограничивающих объемов 5 D разбиение (позиция и направление) 30 ноября 2006 Основы синтеза изображений 39

Сетки n Построение сетки q q n Начинаем с описывающего параллелепипеда Треугольники разбиваются по Сетки n Построение сетки q q n Начинаем с описывающего параллелепипеда Треугольники разбиваются по вокселям Трассировка q q Алгоритм Брезенхема в 3 D Останавливаемся, если пересечение найдено в текущем вокселе 30 ноября 2006 Основы синтеза изображений 40

Сетка: проблемы n Обход сетки q q n Перечисление вокселей вдоль луча Очень простой Сетка: проблемы n Обход сетки q q n Перечисление вокселей вдоль луча Очень простой алгоритм, возможна аппаратная реализация Разрешение сетки q q Очень сильно зависит от сцены Невозможна адаптация к локальной плотности примитивов n q Проблема «Чайника на стадионе» Возможное решение: иерархические сетки 30 ноября 2006 Основы синтеза изображений 41

Сетка: проблемы n Объекты в нескольких вокселях q q Хранить только ссылки на объекты Сетка: проблемы n Объекты в нескольких вокселях q q Хранить только ссылки на объекты Хранить информацию о найденных пересечениях в кэше n 30 ноября 2006 Предел: хранить индекс луча в каждом треугольнике Основы синтеза изображений 42

Иерархические сетки n Простой алгоритм построения q q n Рекурсивное создание сеток в вокселях Иерархические сетки n Простой алгоритм построения q q n Рекурсивное создание сеток в вокселях с высокой плотностью Проблема: какое должно быть разрешение на каждом уровне? Улучшения алгоритма q q Разделить сетки для объектов Проблема: что считать объектами? 30 ноября 2006 Основы синтеза изображений 43

Октодерево n Иерархическое разбиение пространства q n Адаптивное рекурсивное разбиние пространства на 8 равных Октодерево n Иерархическое разбиение пространства q n Адаптивное рекурсивное разбиние пространства на 8 равных частей Проблемы q q Достаточно сложный алгоритм обхода Сложные регионы сходятся медленно 30 ноября 2006 Основы синтеза изображений 44

Описывающие объемы n Идея q n Вычислять пересечение с объектом только если луч пересекает Описывающие объемы n Идея q n Вычислять пересечение с объектом только если луч пересекает простой описывающий объем Возможные описывающие объемы: q q q Сфера Выровненный по осям описывающий параллелепипед Описывающий параллелепипед 30 ноября 2006 Основы синтеза изображений 45

Иерархия описывающих сфер n Идея: q n Преимущества: q q n Разбиваем рекурсивно Очень Иерархия описывающих сфер n Идея: q n Преимущества: q q n Разбиваем рекурсивно Очень хорошая адаптивность Эффективный обход O(log N) Проблемы q Как располагать описывающие объемы? 30 ноября 2006 Основы синтеза изображений 46

BSP- и Kd-деревья n n Рекурсивное разбиение пространства на полупространства Двоичное разбиение пространства (BSP): BSP- и Kd-деревья n n Рекурсивное разбиение пространства на полупространства Двоичное разбиение пространства (BSP): q n Разбиение плоскостями в произвольных положениях Kd-деревья q 1. 1. 2. 1 1 1. 2 Разбиение выровненными относительно осей плоскостями 1. 1. 1 30 ноября 2006 Основы синтеза изображений 1. 1 47

Построение k. D-дерева 30 ноября 2006 Основы синтеза изображений 48 Построение k. D-дерева 30 ноября 2006 Основы синтеза изображений 48

Построение k. D-дерева 30 ноября 2006 Основы синтеза изображений 49 Построение k. D-дерева 30 ноября 2006 Основы синтеза изображений 49

Построение k. D-дерева 30 ноября 2006 Основы синтеза изображений 50 Построение k. D-дерева 30 ноября 2006 Основы синтеза изображений 50

Построение k. D-дерева 30 ноября 2006 Основы синтеза изображений 51 Построение k. D-дерева 30 ноября 2006 Основы синтеза изображений 51

ТРАССИРОВКА: ИНТЕРАКТИВНАЯ ТРАССИРОВКА 30 ноября 2006 Основы синтеза изображений 52 ТРАССИРОВКА: ИНТЕРАКТИВНАЯ ТРАССИРОВКА 30 ноября 2006 Основы синтеза изображений 52

Интерактивная трассировка лучей n n n В: Что такое интерактивная трассировка лучей? О: Это Интерактивная трассировка лучей n n n В: Что такое интерактивная трассировка лучей? О: Это обычная трассировка + оптимизации, оптимизации. . . Оптимизации могут быть и алгоритмическими! 30 ноября 2006 Основы синтеза изображений 53

Что можно оптимизировать? n n n 1. Построение пространственного индекса 2. Алгоритм трассирования луча Что можно оптимизировать? n n n 1. Построение пространственного индекса 2. Алгоритм трассирования луча 3. Вычисление освещения 30 ноября 2006 Основы синтеза изображений 54

Оптимизации: построение пространственного индекса n k. D-деревья q q q Адаптивны Компактны Быстрый обход Оптимизации: построение пространственного индекса n k. D-деревья q q q Адаптивны Компактны Быстрый обход n За счет хорошо построенного дерева можно получить увеличение скорости в несколько раз! n Проблема: где провести разбивающую плоскость? q n Учет вероятностей попадания луча в разные полуплоскости Проблема: где остановить разбиение? 30 ноября 2006 Основы синтеза изображений 55

Оптимизации: Алгоритм трассирования луча n Оптимизация структуры данных для узла дерева q n Учет Оптимизации: Алгоритм трассирования луча n Оптимизация структуры данных для узла дерева q n Учет процессорного кэша Оптимизация цикла трассировки q q Никаких рекурсий Минимизация операцией со стеком Параллелизация: SIMD, многоядерность Когерентность 30 ноября 2006 Основы синтеза изображений 56

Оптимизации: Алгоритм трассирования луча n n Трассировка луча все равно очень дорога Два варианта: Оптимизации: Алгоритм трассирования луча n n Трассировка луча все равно очень дорога Два варианта: q Трассировать больше лучей в секунду n q рассмотрели Трассировать меньше лучей на кадр n n n 30 ноября 2006 Использование растеризационной аппаратуры Технологии на основе изображений Интерполяция результатов трассирования Основы синтеза изображений 57

Алгоритм трассирования луча: корректирующие текстуры 30 ноября 2006 Основы синтеза изображений 58 Алгоритм трассирования луча: корректирующие текстуры 30 ноября 2006 Основы синтеза изображений 58

Оптимизации: Вычисление освещения n n Проблема: вычисление интеграла Подходы: q q Квази-статические (квази Монте-Карло) Оптимизации: Вычисление освещения n n Проблема: вычисление интеграла Подходы: q q Квази-статические (квази Монте-Карло) Гибридные n n 30 ноября 2006 Использование растеризационной аппаратуры Технологии на основе изображений Основы синтеза изображений 59

Почему сейчас? n Успех растеризации и отсутствие прогресса остановили развитие алгоритмов трассировки лучей в Почему сейчас? n Успех растеризации и отсутствие прогресса остановили развитие алгоритмов трассировки лучей в 90 е q n В начале 2000 х развитие алгоритмов позволило догнать аппаратные методы q q n Мало низкоуровневой оптимизации, не использовалась когерентность и т. п. За счет софтверной оптимизации В основном на сложных сценах Сейчас программируемые аппаратные ускорители позволили еще более ускорить трассировку q q Все равно неудобно – ориентация на растеризацию Надежды на следующее поколение 30 ноября 2006 Основы синтеза изображений 60

Причины использования интерактивной трассировки n n n Реалистичные изображения по умолчанию Физическая корректность Поддержка Причины использования интерактивной трассировки n n n Реалистичные изображения по умолчанию Физическая корректность Поддержка массивных сцен Интеграция различных типов примитивов Декларативное описание сцен Интерактивное глобальное освещение 30 ноября 2006 Основы синтеза изображений 61

Реалистичные изображения по умолчанию 30 ноября 2006 62 Основы синтеза изображений Volkswagen Beetle with Реалистичные изображения по умолчанию 30 ноября 2006 62 Основы синтеза изображений Volkswagen Beetle with correct shadows and (multi-)reflections on curved surfaces

Физическая корректность 30 ноября traced car head lamp, faithful visualization requires up to 50 Физическая корректность 30 ноября traced car head lamp, faithful visualization requires up to 50 rays per pixel 63 Основы синтеза изображений Fully ray 2006

Физическая корректность 30 ноября 2006 64 Rendered directly from trimmed Основы синтеза изображенийwith smooth Физическая корректность 30 ноября 2006 64 Rendered directly from trimmed Основы синтеза изображенийwith smooth environment lighting NURBS surfaces,

Физическая корректность Textured Phong for comparison Rendered with accurately measured BTF data Основы that Физическая корректность Textured Phong for comparison Rendered with accurately measured BTF data Основы that 30 ноября 2006 for micro lighting effects синтеза изображений accounts 65 BTF Data Courtesy R. Klein, Uni Bonn

Физическая корректность 66 Основы синтеза изображений VR 30 ноября 2006 scene illuminated from realtime Физическая корректность 66 Основы синтеза изображений VR 30 ноября 2006 scene illuminated from realtime video feed, AR with realtime environment lighting

Поддержка массивных сцен 30 ноября 2006 Основы синтеза изображений 67 Поддержка массивных сцен 30 ноября 2006 Основы синтеза изображений 67

Интеграция различных типов примитивов 30 ноября 2006 Основы синтеза изображений Triangles, Bezier splines, and Интеграция различных типов примитивов 30 ноября 2006 Основы синтеза изображений Triangles, Bezier splines, and subdivision surfaces fully integrated 68

Интеграция различных типов примитивов Volume visualization using multiple iso-surfaces in combination with surface rendering Интеграция различных типов примитивов Volume visualization using multiple iso-surfaces in combination with surface rendering 30 ноября 2006 69 Основы синтеза изображений

Интеграция различных типов примитивов 24 MPoints, 2. 1 fps with shadow @ 640 x Интеграция различных типов примитивов 24 MPoints, 2. 1 fps with shadow @ 640 x 480 30 ноября 2006 Realtime ray tracing of point clouds (1 Mpoints each) Основы синтеза изображений On one dual-Opteron 2. 4 GHz: 4 -9 fps 70

Декларативное описание сцен n Декларативный интерфейс задания сцены q q n Приложение задает всю Декларативное описание сцен n Декларативный интерфейс задания сцены q q n Приложение задает всю сцену за раз Экранизация полностью выполняется на уровне трассировщика (например, в железе) Достоинства q q Сильно упрощает программирование Возможно полное аппаратное ускорение 30 ноября 2006 Основы синтеза изображений 71

Глобальное освещение Conference 30 ноября 2006 room (380 000 tris, 104 синтеза изображений global Глобальное освещение Conference 30 ноября 2006 room (380 000 tris, 104 синтеза изображений global illumination in realtime 72 Основы lights) with full

Глобальное освещение 250 k / 3 fps 25 M / 11 fps Light pattern Глобальное освещение 250 k / 3 fps 25 M / 11 fps Light pattern from a car head lamp computed in realtime using photon mapping: Left: realtime update, middle: accumulatedизображенийright: photograph of real pattern 30 ноября 2006 73 Основы синтеза in 30 s,

Глобальное освещение 250 k / 3 fps 25 M / 11 fps Photograph Light Глобальное освещение 250 k / 3 fps 25 M / 11 fps Photograph Light pattern from a car head lamp computed in realtime using photon mapping: Left: realtime update, middle: accumulatedизображенийright: photograph of real pattern 30 ноября 2006 74 Основы синтеза in 30 s,

Проблемы интерактивной трассировки лучей n Динамические сцены q n Изменения геометрии обновление пространственного индекса Проблемы интерактивной трассировки лучей n Динамические сцены q n Изменения геометрии обновление пространственного индекса Подходы q q Деление сцен исходя из темпоральных характеристик «Ленивый» индекс 30 ноября 2006 Основы синтеза изображений 75

Проблемы интерактивной трассировки лучей n Эффективное устранение ступенчатости и блестящие (glossy) отражения q Нужно Проблемы интерактивной трассировки лучей n Эффективное устранение ступенчатости и блестящие (glossy) отражения q Нужно много лучей для корректного результата 30 ноября 2006 Основы синтеза изображений 76

Проблемы интерактивной трассировки лучей n Аппаратная поддержка q n Сейчас вся mainstream-поддержка разрабатывается под Проблемы интерактивной трассировки лучей n Аппаратная поддержка q n Сейчас вся mainstream-поддержка разрабатывается под растеризацию Возможные решения q q Многоядерные CPU – перспективно! Cell: Нет кэша GPU: ограничения на поток управления Специальная аппаратура 30 ноября 2006 Основы синтеза изображений 77

Итоги n n n Трассировка лучей = быстрый поиск пересечения Трассировка vs. Растеризация Интерактивная Итоги n n n Трассировка лучей = быстрый поиск пересечения Трассировка vs. Растеризация Интерактивная трассировка лучей = оптимизация 30 ноября 2006 Основы синтеза изображений 78

Материалы n В презентации использованы слайды из курса “Interactive Ray Tracing”, представленнего на конференции Материалы n В презентации использованы слайды из курса “Interactive Ray Tracing”, представленнего на конференции SIGGRAPH’ 2005 30 ноября 2006 Основы синтеза изображений 79