Трассировка, фотонные карты

advertisement
Трассировка, фотонные
карты
Физическая модель
освещенности
• Люкс – освещенность
• Кандела – яркость источника ((1/683)
Вт/ср.)
• Люмен – световой поток
Свет гуляет по пространству
Внутри конуса передается постоянная мощность
поток 4πa
люменов
1 кандела
a стерадиан
1 кв.метр поверхности на
расстоянии r будет иметь
освещённость 1/r^2
1кв м площади может снова
переизлучить или отразить
часть света (1/b) и издалека
стать источником с меньшей
силой
Radosity (Излучательность)
• Общая идея метода
• Практическая применимость
Прямая и обратная трассировка
Поведение света в точке
n
r
v
Падающий луч
Отраженный луч
t
Преломленный луч
Геометрия отражения
r = v− 2 v ṅ ∗ n
n
r
v
t
(where R is the reflected vector, V is the
incoming vector and N is the surface
normal)
Геометрия преломления
ЗаконСинелиуса
v sin
v = t sin
t
Из условия компланарности
t= v
n
2
2
2
sin t = sin v
2
1− cos2 t = 1− cos2 v
2
2
v ,n 2 2
v ,n
=1
v , n 2− 1
2
∥t∥= 2 2
v,n
=1
Вычитая из одного другое имеем:
2
∗ v , n 2− 1 =
v , n 2− 1
=±
2
2
2
v ,n
− 1= 0
− 2∗ ± 1 2 v , n 2 − 1
=
2
t= v
n
n
r
v
t
Физика поведения света при
отражении
Вн ешн ий am bient свет:
Cb a= K a∗ Ca
Рассеян ый diffuse п о зак он у
Ламберта светотисточн ик ов:
n
r
s
b
n
Сb d = K d ∗ ∑ i = 0 C s ∗ s n , n
n
Блик овый specular светотисточн ик ов:
n
Блин н
Сb s = K s∗ ∑ i = 0 Cs ∗ h n , n p , гд е h n =
Фон г
Сb s = K s∗ ∑ i = 0 C s ∗ r n , n
n
n
n
p
sn b
〚
sn b〛
t
Физика поведения света при
отражении
n
b
Светп ришед ший отобъек та и
зерк альн о отразивщися:
Сb r = K b∗ Ci
Светп ришед ший отобъек та и
п реломившийся :
Сb r = K t ∗ Ci
i_r
r
t
i_t
Ослабевание в среде
• Квадратично – за счет увеличения
площади сечения телесного угла
• Экспоненциально – за счет поглощения
средой
1
− ∗d
I ou t = I i n∗
d
2
∗e
• На практике – приближают обратной
зависимостью
I ou t = I i n∗
1
d K
Общий вид алгоритма
трассировки
Алгоритм трассировки
• Для каждой точки экрана испускают луч
– Находят ближайшее пересечение луча со
сценой
– Для каждого луча проверяют затененность
точки и для освещенных точек
подсчитывают вклад источников света
– Определяют необходимость просчета
отраженных и преломленных лучей
• рекурсивно вызываются просчета их вклада
Геометрические модели для
трассировки
• Многоугольники
• Аналитически заданные поверхности
– сфера
– цилиндр
– произвольная КВП
– сплайн
• Булевские операции над
многоугольниками
• Коллекции примитивов
• Фракталы
Формулы пересечения со сферой
P(t2)
P(t1)
`
O
a
P
[0,0,0]
Формулы пересечения со сферой
Тесты для сферы
• точка лежит внутри
• Луч идет от
Булевские функции
• Выбор ближайшего пересечения
– Учет внутренности
– Возможные проблемы.
• Потеря точности
Механизмы ускорения
• Параллелизм
– SSE и другие аппаратные способы
• Тайлы
– тайлы и кэш
• Объемлющие тела
• Равномерное разбиение пространства
• BSP / Q-tree / H-tree
– kd-tree (axis aligned)
• PVS
Визуальные эффекты камеры
• Глубина резкости
• Размытие на скорости (motion blur)
• Анти-алиасинг (super sampling)
– anti-aliasing на повернутой решетке
• HDR
Глубина резкости
• Вот такой прикольный эффект
1 1
=
F d
Focus
Focus
1
f
Глубина резкости
Для формирования
изображения одной точки с
хрусталика (линзы) испускают много
лучей под немного разными углами
пленка/сетчатка
Шары не в резкости,
поскольку попадут в лучи для
большого числа точек
Недостатки трассировки
• Каустики
яркое пятно от линзы
Фотонные карты (illumination
map)
Более сложные эффекты
материалов
• Бампинг
– карта нормалей
– анизотропия поверхности
• Дифракция
• NFR эффекты
• Процедурные текстуры
Links
• http://library.graphicon.ru/
• http://www.devmaster.net/articles/raytracin
g_series/part2.php
• http://www.devmaster.net/articles/raytracin
g_series/Reflections%20and%20Refractio
ns%20in%20Raytracing.pdf
Q&A
Thanks!
Download