Трассировка лучей. Алгоритмы поиска пересечений

Содержание

Слайд 2

На прошлой лекции

Полигональные модели
Текстура используется как средство передачи освещения и параметров материала
Проективные

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

30 ноября 2006

Основы синтеза изображений

Слайд 3

На лекции

Трассировка лучей.
Сравнение с алгоритмами растеризации
Методы поиска пересечений
Интерактивная трассировка лучей

30 ноября

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

Основы синтеза изображений

Слайд 4

ТРАССИРОВКА VS. РАСТЕРИЗАЦИЯ

Часть 1/3

30 ноября 2006

Основы синтеза изображений

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

Слайд 5

Экранизация в компьютерной графике

30 ноября 2006

Основы синтеза изображений

Растеризация: Прямая проекция геометрии

Трассировка лучей:
Обратная проекция

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

Два основных подхода

Слайд 6

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

30 ноября 2006

Основы синтеза изображений

Конвейер
Успешная технология
Аппаратная поддержка
Достоинства
Простой и проверенный алгоритм
Все быстрее и

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

Слайд 7

Растеризация: особенности

30 ноября 2006

Основы синтеза изображений

Базовая операция всей компьютерной графики
Построчное сканирование

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

Слайд 8

Генерация луча

Трассирование луча

Пересечение

Тонирование

Буфер кадра

Трассировка лучей

30 ноября 2006

Основы синтеза изображений

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

Слайд 9

Генерация луча

Трассирование луча

Пересечение

Тонирование

Буфер кадра

Трассировка лучей

30 ноября 2006

Основы синтеза изображений

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

Слайд 10

Генерация луча

Трассирование луча

Пересечение

Тонирование

Буфер кадра

Трассировка лучей

30 ноября 2006

Основы синтеза изображений

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

Слайд 11

Трассировка лучей: трассирование луча

Генерация луча

Трассирование луча

Пересечение

Тонирование

Буфер кадра

30 ноября 2006

Основы синтеза изображений

Трассировка лучей: трассирование луча Генерация луча Трассирование луча Пересечение Тонирование Буфер кадра

Слайд 12

Трассировка лучей : трассирование луча

Генерация луча

Трассирование луча

Пересечение

Тонирование

Буфер кадра

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

Основы синтеза изображений

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

Слайд 21

Трассировка лучей: свойства

Глобальное освещение
Параллелизм
Расширямость
Вычисления только по запросу
Попиксельные

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

30 ноября 2006

Основы синтеза изображений

Слайд 22

Растеризация vs. Трассировка лучей

Определение: растеризация
Дан набор лучей и притимивов, вычислить подмножество лучей,

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

30 ноября 2006

Основы синтеза изображений

Слайд 23

Растеризация vs. Трассировка лучей

3D индекс в мировом пространстве
Ограничивает динамику сцены (перестройка)
Масштабируемость O(log

Растеризация vs. Трассировка лучей 3D индекс в мировом пространстве Ограничивает динамику сцены
n)
Произвольные наборы лучей
2D сетка в пространстве экрана
Регулярная дискретизация

30 ноября 2006

Основы синтеза изображений

Слайд 24

Растеризация vs. Трассировка лучей

Слияние: 2D-сетка + 3D-структура в мировом пространстве
Растеризация становится ближе

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

30 ноября 2006

Основы синтеза изображений

Слайд 25

Растеризация vs. Трассировка лучей

Попиксельная эффективность
Функции тонирования имеют одинаковую сложность
Растеризация
Инкрементное вычисление между пикселями
Строчная

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

30 ноября 2006

Основы синтеза изображений

Слайд 26

Растеризация vs. Трассировка лучей

Достоинства вычислений «по запросу»
Только требуемые вычисления
? эффективность
Пример: не нужно

Растеризация vs. Трассировка лучей Достоинства вычислений «по запросу» Только требуемые вычисления ?
вычислять всю карту освещения
Не требуется передискретизация данных
? точность
Подгрузка данных только по требованию ? ресурсы

30 ноября 2006

Основы синтеза изображений

Слайд 27

Растеризация vs. Трассировка лучей

Аппаратная поддержка
Растеризация имеет полную аппаратную поддержку
Быстрое развитие
Высокая производительность, параллелизм,

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

30 ноября 2006

Основы синтеза изображений

Слайд 28

ОСНОВЫ ТРАССИРОВКИ И АЛГОРИТМЫ ПОИСКА ПЕРЕСЕЧЕНИЙ

Часть 2/3

30 ноября 2006

Основы синтеза изображений

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

Слайд 29

Трассировка поверхностей

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

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

30 ноября 2006

Основы синтеза изображений

Слайд 30

Основные шаги

Генерация первичных лучей
Rays from viewpoint into 3D scene
Трассировка лучей
Первое пересечение с

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

30 ноября 2006

Основы синтеза изображений

Слайд 31

Генерация лучей

Камера-обскура
o: Центр проекции (наблюдатель)
f: Вектор зрения (фокусное расстояние) x, y: Оконные

Генерация лучей Камера-обскура o: Центр проекции (наблюдатель) f: Вектор зрения (фокусное расстояние)
координаты
xres, yres: Размер изображения

u

f

y

x

d

o

30 ноября 2006

Основы синтеза изображений

Слайд 32

Ray Generation

Камера-обскура

for (x= 0; x < xres; x++)
for (y= 0; y

Ray Generation Камера-обскура for (x= 0; 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);
}

u

f

y

x

d

o

30 ноября 2006

Основы синтеза изображений

Слайд 33

Представления луча и объектов

Луч: r(t)=o+t d
o=(ox, oy, oz), d=(dx, dy, dz)
Геометрия сцены
Plane:

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

30 ноября 2006

Основы синтеза изображений

Слайд 34

Пересечение луча со сферой

Сфера
Сфера в начале координат (x2 + y2 + z2

Пересечение луча со сферой Сфера Сфера в начале координат (x2 + y2
- 1= 0)
Подставляем уравнение для луча
t2(dx2 + dy2 + dz2) + 2t (dxox + dyoy + dzoz) + (ox2 + oy2 + oz2) –1 = 0
Вариант: геометрическая задача

30 ноября 2006

Основы синтеза изображений

Слайд 35

Пересечение луча с плоскостью

Плоскость
Уравнение плоскости: p·n - D = 0, |n| =

Пересечение луча с плоскостью Плоскость Уравнение плоскости: p·n - D = 0,
1
Неявное представление
Нормаль: n
Перпендикуляр до (0, 0, 0): D
Заменяем o + td на p
(o + td)·n – D = 0
Решаем для t:

30 ноября 2006

Основы синтеза изображений

Слайд 36

Пересечение луча с треугольником

Барицентрические координаты
Невырожденный трк. ABC P= λ1A + λ2B + λ3C
λ1

Пересечение луча с треугольником Барицентрические координаты Невырожденный трк. ABC P= λ1A +
+ λ2 + λ3 = 1
λ3 = ∠(APB) / ∠(ACB) etc
Relative area
Пересечение, если все λi >= 0

30 ноября 2006

Основы синтеза изображений

Слайд 37

Пересечение луча с треугольником

Пересечение с плоскостью треугольника
Дана 3D-точка пересечения
Спроецировать точку на плоскость

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

30 ноября 2006

Основы синтеза изображений

Слайд 38

Проблема точности

30 ноября 2006

Основы синтеза изображений

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

Слайд 39

Ускорение трассировки

Пересечение луча со всеми объектами и сортировка для поиска ближайшего пересечения
Очень

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

30 ноября 2006

Основы синтеза изображений

Слайд 40

Сетки

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

Сетки Построение сетки Начинаем с описывающего параллелепипеда Треугольники разбиваются по вокселям Трассировка
найдено в текущем вокселе

30 ноября 2006

Основы синтеза изображений

Слайд 41

Сетка: проблемы

Обход сетки
Перечисление вокселей вдоль луча
Очень простой алгоритм, возможна аппаратная реализация
Разрешение

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

30 ноября 2006

Основы синтеза изображений

Слайд 42

Сетка: проблемы

Объекты в нескольких вокселях
Хранить только ссылки на объекты
Хранить информацию о найденных

Сетка: проблемы Объекты в нескольких вокселях Хранить только ссылки на объекты Хранить
пересечениях в кэше
Предел: хранить индекс луча в каждом треугольнике

30 ноября 2006

Основы синтеза изображений

Слайд 43

Иерархические сетки

Простой алгоритм построения
Рекурсивное создание сеток в вокселях с высокой плотностью
Проблема: какое должно

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

30 ноября 2006

Основы синтеза изображений

Слайд 44

Октодерево

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

Октодерево Иерархическое разбиение пространства Адаптивное рекурсивное разбиние пространства на 8 равных частей
сходятся медленно

30 ноября 2006

Основы синтеза изображений

Слайд 45

Описывающие объемы

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

Описывающие объемы Идея Вычислять пересечение с объектом только если луч пересекает простой
по осям описывающий параллелепипед
Описывающий параллелепипед

30 ноября 2006

Основы синтеза изображений

Слайд 46

Иерархия описывающих сфер

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

30 ноября

Иерархия описывающих сфер Идея: Разбиваем рекурсивно Преимущества: Очень хорошая адаптивность Эффективный обход
2006

Основы синтеза изображений

Слайд 47

BSP- и Kd-деревья

Рекурсивное разбиение пространства на полупространства
Двоичное разбиение пространства (BSP):
Разбиение плоскостями в произвольных положениях
Kd-деревья
Разбиение выровненными относительно

BSP- и Kd-деревья Рекурсивное разбиение пространства на полупространства Двоичное разбиение пространства (BSP):
осей плоскостями

1

1.1

1.1.1

1.2

1.1.2

1.1.2.1

1.1.1.1

30 ноября 2006

Основы синтеза изображений

Слайд 48

Построение kD-дерева

30 ноября 2006

Основы синтеза изображений

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

Слайд 49

Построение kD-дерева

30 ноября 2006

Основы синтеза изображений

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

Слайд 50

Построение kD-дерева

30 ноября 2006

Основы синтеза изображений

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

Слайд 51

Построение kD-дерева

30 ноября 2006

Основы синтеза изображений

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

Слайд 52

ТРАССИРОВКА: ИНТЕРАКТИВНАЯ ТРАССИРОВКА

30 ноября 2006

Основы синтеза изображений

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

Слайд 53

Интерактивная трассировка лучей
В: Что такое интерактивная трассировка лучей?
О: Это обычная трассировка +

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

30 ноября 2006

Основы синтеза изображений

Слайд 54

Что можно оптимизировать?

1. Построение пространственного индекса
2. Алгоритм трассирования луча
3. Вычисление освещения

30 ноября

Что можно оптимизировать? 1. Построение пространственного индекса 2. Алгоритм трассирования луча 3.
2006

Основы синтеза изображений

Слайд 55

Оптимизации: построение пространственного индекса
kD-деревья
Адаптивны
Компактны
Быстрый обход
За счет хорошо построенного дерева можно получить увеличение

Оптимизации: построение пространственного индекса kD-деревья Адаптивны Компактны Быстрый обход За счет хорошо
скорости в несколько раз!
Проблема: где провести разбивающую плоскость?
Учет вероятностей попадания луча в разные полуплоскости
Проблема: где остановить разбиение?

30 ноября 2006

Основы синтеза изображений

Слайд 56

Оптимизации: Алгоритм трассирования луча
Оптимизация структуры данных для узла дерева
Учет процессорного кэша
Оптимизация цикла

Оптимизации: Алгоритм трассирования луча Оптимизация структуры данных для узла дерева Учет процессорного
трассировки
Никаких рекурсий
Минимизация операцией со стеком
Параллелизация: SIMD, многоядерность
Когерентность

30 ноября 2006

Основы синтеза изображений

Слайд 57

Оптимизации: Алгоритм трассирования луча

Трассировка луча все равно очень дорога
Два варианта:
Трассировать больше лучей

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

30 ноября 2006

Основы синтеза изображений

Слайд 58

Алгоритм трассирования луча: корректирующие текстуры

30 ноября 2006

Основы синтеза изображений

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

Слайд 59

Оптимизации: Вычисление освещения

Проблема: вычисление интеграла
Подходы:
Квази-статические (квази Монте-Карло)
Гибридные
Использование растеризационной аппаратуры
Технологии на основе

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

30 ноября 2006

Основы синтеза изображений

Слайд 60

Почему сейчас?

Успех растеризации и отсутствие прогресса остановили развитие алгоритмов трассировки лучей в

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

30 ноября 2006

Основы синтеза изображений

Слайд 61

Причины использования интерактивной трассировки

Реалистичные изображения по умолчанию
Физическая корректность
Поддержка массивных сцен
Интеграция различных типов

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

30 ноября 2006

Основы синтеза изображений

Слайд 62

Реалистичные изображения по умолчанию

Volkswagen Beetle with correct shadows and (multi-)reflections on curved

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

30 ноября 2006

Основы синтеза изображений

Слайд 63

Физическая корректность

Fully ray traced car head lamp, faithful visualization requires up to

Физическая корректность Fully ray traced car head lamp, faithful visualization requires up
50 rays per pixel

30 ноября 2006

Основы синтеза изображений

Слайд 64

Физическая корректность

Rendered directly from trimmed NURBS surfaces, with smooth environment lighting

30 ноября

Физическая корректность Rendered directly from trimmed NURBS surfaces, with smooth environment lighting
2006

Основы синтеза изображений

Слайд 65

Физическая корректность

BTF Data Courtesy R. Klein, Uni Bonn

Rendered with accurately measured BTF

Физическая корректность BTF Data Courtesy R. Klein, Uni Bonn Rendered with accurately
data that accounts for micro lighting effects

Textured Phong for comparison

30 ноября 2006

Основы синтеза изображений

Слайд 66

Физическая корректность

VR scene illuminated from realtime video feed, AR with realtime environment

Физическая корректность VR scene illuminated from realtime video feed, AR with realtime
lighting

30 ноября 2006

Основы синтеза изображений

Слайд 67

Поддержка массивных сцен

30 ноября 2006

Основы синтеза изображений

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

Слайд 68

Интеграция различных типов примитивов

Triangles, Bezier splines, and subdivision surfaces fully integrated

30 ноября

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

Основы синтеза изображений

Слайд 69

Интеграция различных типов примитивов

Volume visualization using multiple iso-surfaces in combination with surface

Интеграция различных типов примитивов Volume visualization using multiple iso-surfaces in combination with
rendering

30 ноября 2006

Основы синтеза изображений

Слайд 70

Интеграция различных типов примитивов

Realtime ray tracing of point clouds (1 Mpoints each)
On

Интеграция различных типов примитивов Realtime ray tracing of point clouds (1 Mpoints
one dual-Opteron 2.4 GHz: 4-9 fps

24 MPoints, 2.1 fps with shadow @ 640x480

30 ноября 2006

Основы синтеза изображений

Слайд 71

Декларативное описание сцен

Декларативный интерфейс задания сцены
Приложение задает всю сцену за раз
Экранизация полностью

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

30 ноября 2006

Основы синтеза изображений

Слайд 72

Глобальное освещение

Conference room (380 000 tris, 104 lights) with full global illumination

Глобальное освещение Conference room (380 000 tris, 104 lights) with full global
in realtime

30 ноября 2006

Основы синтеза изображений

Слайд 73

Глобальное освещение

250k / 3 fps

25M / 11 fps

Light pattern from a car

Глобальное освещение 250k / 3 fps 25M / 11 fps Light pattern
head lamp computed in realtime using photon mapping:
Left: realtime update, middle: accumulated in 30s, right: photograph of real pattern

30 ноября 2006

Основы синтеза изображений

Слайд 74

Глобальное освещение

250k / 3 fps

25M / 11 fps

Photograph

Light pattern from a car

Глобальное освещение 250k / 3 fps 25M / 11 fps Photograph Light
head lamp computed in realtime using photon mapping:
Left: realtime update, middle: accumulated in 30s, right: photograph of real pattern

30 ноября 2006

Основы синтеза изображений

Слайд 75

Проблемы интерактивной трассировки лучей

Динамические сцены
Изменения геометрии ? обновление пространственного индекса
Подходы
Деление сцен исходя

Проблемы интерактивной трассировки лучей Динамические сцены Изменения геометрии ? обновление пространственного индекса
из темпоральных характеристик
«Ленивый» индекс

30 ноября 2006

Основы синтеза изображений

Слайд 76

Проблемы интерактивной трассировки лучей

Эффективное устранение ступенчатости и блестящие (glossy) отражения
Нужно много лучей

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

30 ноября 2006

Основы синтеза изображений

Слайд 77

Проблемы интерактивной трассировки лучей

Аппаратная поддержка
Сейчас вся mainstream-поддержка разрабатывается под растеризацию
Возможные решения
Многоядерные CPU

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

30 ноября 2006

Основы синтеза изображений

Слайд 78

Итоги

Трассировка лучей = быстрый поиск пересечения
Трассировка vs. Растеризация
Интерактивная трассировка лучей = оптимизация

30

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

Основы синтеза изображений