Трассировка, фотонные карты Физическая модель освещенности • Люкс – освещенность • Кандела – яркость источника ((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!