#064 Vulkan API: Трассировка лучей 10.1: Процедурная геометрия - Обзор на доске

00:01 Введение в ray tracing intersection.cpp • Автор объясняет, что ранее не понимал работу интерсекционного шейдера и шейдера попадания. • Теперь он лучше понимает алгоритм и хочет поделиться знаниями. • Упоминаются предыдущие видео о алгоритме пересечения лучей. 01:09 Установка алгоритма • Рекомендации по установке алгоритма на компьютер с Windows и видеокартой, поддерживающей Vulkan. • Ссылки на видеоуроки №1 и №15 для установки Vulkan API и примеров. • Рекомендация скрипта и книги Ray Tracing Gems для изучения основ компьютерной графики. 03:00 Основы алгоритма трассировки лучей • Объяснение работы алгоритма трассировки лучей с пересечением в точке C++. • Процедурная генерация сфер в сцене и их трассировка лучами для точного представления. • Роль вращающегося источника света в создании затенения. 04:42 Принцип работы камеры и сфер • Камера представляет собой сферу, которая испускает лучи в сцену. • Лучи отражаются от сфер, создавая реалистичное освещение. • Некоторые лучи отражаются, другие — нет. 11:16 Иерархия ограничивающих объёмов BVH • Объяснение концепции иерархии ограничивающих объёмов BVH. • Параллелепипед вокруг сферы для эффективной классификации лучей. • Выравнивание ограничивающего параллелепипеда AABB. 19:23 Различие между лучами • Различие между лучами, которые не попадают в цель, и лучами, проходящими близко к сфере. • Обработка лучей, которые не попадают в цель, и лучей, проходящих близко к сфере. • Важность различения этих категорий для оптимизации вычислений. 22:06 Избегание лишних вычислений • Избегание ненужных математических операций предотвращает перегрев компьютера и снижение частоты кадров. • В компьютерном моделировании и видеоиграх приходится иметь дело с тысячами объектов. 22:48 Работа с лучами • Лучи, которые не попадают в цель, легко обрабатываются и не требуют рендеринга. • Лучи, проходящие рядом со сферой, требуют дополнительных вычислений для определения их попадания на сферу. 24:14 Ограничивающий параллелепипед • Сфера находится внутри ограничивающего параллелепипеда, который помогает определить, нужно ли проверять лучи на попадание в сферу. • Для лучей, попадающих на ограничивающий параллелепипед, требуется дополнительная обработка. 26:18 Шейдер пересечений • Шейдер пересечений математически рассчитывает положение сферы и определяет, попал ли луч в сферу. • Этот процесс требует значительных вычислительных ресурсов. 29:46 Эффективность ограничивающих прямоугольников • Большие ограничивающие прямоугольники неэффективны, так как требуют просчёта всех лучей внутри них. • Плотно облегающие сферу прямоугольники эффективны, так как проверяют меньше лучей. 34:14 Процедурная геометрия • Сферы генерируются математически внутри графического процессора, что менее затратно с точки зрения вычислений. • Процедурная геометрия обеспечивает гладкие края сфер без необходимости отслеживания всех треугольников. 37:10 Создание сфер • Создание тысяч сфер с помощью математики менее затратно, чем использование 3D-моделей или треугольников. • В пространственном мире приложения лучи, проходящие через сцену, должны быть обработаны эффективно. 38:09 Роль ограничивающих рамок в трассировке лучей • Ограничивающие рамки, выровненные по осям, помогают эффективно обрабатывать лучи, пересекающие сцену. • Без рамок пришлось бы вызывать шейдер пересечения для каждого луча, что значительно увеличило бы вычислительные затраты. • Это привело бы к большому количеству пропущенных лучей и неэффективной работе приложения. 40:07 Проблемы неэффективной трассировки лучей • Вызов шейдера пересечения для всех лучей даже при наличии всего нескольких сфер в сцене требует значительных вычислительных ресурсов. • Интенсивная работа графического процессора приводит к перегреву ноутбука, расходу электроэнергии и снижению частоты кадров. • Неэффективная трассировка лучей ухудшает качество изображения и производительность приложения. 42:05 Объяснение работы шейдеров • В приложении используются шейдеры генерации лучей, тумана и пересечения. • Шейдер пересечения математически вычисляет пересечение луча со сферой и сообщает об этом. • Шейдер попадания визуализирует сферу, добавляя освещение и другие визуальные эффекты. 48:50 Взаимодействие шейдеров • Шейдер пересечения выполняет все вычисления, определяя, попал ли луч в сферу. • Если пересечение зафиксировано, шейдер попадания рисует сферу. • Лучи в приложении сравниваются с пикселями на мониторе, каждый из которых требует обработки. 51:53 Изменение формы объектов 53:45 Изменение формы объектов 55:28 Математическая связь ограничительных рамок и сфер 56:45 Мысленный эксперимент с несколькими сферами 58:36 Процедурная геометрия и Vulcan API 01:00:13 Сложности работы с лучами в Vulcan 01:03:06 Иерархия ограничивающих объёмов и структуры ускорения 01:04:11 Заключение и рекомендации

Иконка канала Ленинский Букварь
244 подписчика
12+
3 просмотра
2 часа назад
12+
3 просмотра
2 часа назад

00:01 Введение в ray tracing intersection.cpp • Автор объясняет, что ранее не понимал работу интерсекционного шейдера и шейдера попадания. • Теперь он лучше понимает алгоритм и хочет поделиться знаниями. • Упоминаются предыдущие видео о алгоритме пересечения лучей. 01:09 Установка алгоритма • Рекомендации по установке алгоритма на компьютер с Windows и видеокартой, поддерживающей Vulkan. • Ссылки на видеоуроки №1 и №15 для установки Vulkan API и примеров. • Рекомендация скрипта и книги Ray Tracing Gems для изучения основ компьютерной графики. 03:00 Основы алгоритма трассировки лучей • Объяснение работы алгоритма трассировки лучей с пересечением в точке C++. • Процедурная генерация сфер в сцене и их трассировка лучами для точного представления. • Роль вращающегося источника света в создании затенения. 04:42 Принцип работы камеры и сфер • Камера представляет собой сферу, которая испускает лучи в сцену. • Лучи отражаются от сфер, создавая реалистичное освещение. • Некоторые лучи отражаются, другие — нет. 11:16 Иерархия ограничивающих объёмов BVH • Объяснение концепции иерархии ограничивающих объёмов BVH. • Параллелепипед вокруг сферы для эффективной классификации лучей. • Выравнивание ограничивающего параллелепипеда AABB. 19:23 Различие между лучами • Различие между лучами, которые не попадают в цель, и лучами, проходящими близко к сфере. • Обработка лучей, которые не попадают в цель, и лучей, проходящих близко к сфере. • Важность различения этих категорий для оптимизации вычислений. 22:06 Избегание лишних вычислений • Избегание ненужных математических операций предотвращает перегрев компьютера и снижение частоты кадров. • В компьютерном моделировании и видеоиграх приходится иметь дело с тысячами объектов. 22:48 Работа с лучами • Лучи, которые не попадают в цель, легко обрабатываются и не требуют рендеринга. • Лучи, проходящие рядом со сферой, требуют дополнительных вычислений для определения их попадания на сферу. 24:14 Ограничивающий параллелепипед • Сфера находится внутри ограничивающего параллелепипеда, который помогает определить, нужно ли проверять лучи на попадание в сферу. • Для лучей, попадающих на ограничивающий параллелепипед, требуется дополнительная обработка. 26:18 Шейдер пересечений • Шейдер пересечений математически рассчитывает положение сферы и определяет, попал ли луч в сферу. • Этот процесс требует значительных вычислительных ресурсов. 29:46 Эффективность ограничивающих прямоугольников • Большие ограничивающие прямоугольники неэффективны, так как требуют просчёта всех лучей внутри них. • Плотно облегающие сферу прямоугольники эффективны, так как проверяют меньше лучей. 34:14 Процедурная геометрия • Сферы генерируются математически внутри графического процессора, что менее затратно с точки зрения вычислений. • Процедурная геометрия обеспечивает гладкие края сфер без необходимости отслеживания всех треугольников. 37:10 Создание сфер • Создание тысяч сфер с помощью математики менее затратно, чем использование 3D-моделей или треугольников. • В пространственном мире приложения лучи, проходящие через сцену, должны быть обработаны эффективно. 38:09 Роль ограничивающих рамок в трассировке лучей • Ограничивающие рамки, выровненные по осям, помогают эффективно обрабатывать лучи, пересекающие сцену. • Без рамок пришлось бы вызывать шейдер пересечения для каждого луча, что значительно увеличило бы вычислительные затраты. • Это привело бы к большому количеству пропущенных лучей и неэффективной работе приложения. 40:07 Проблемы неэффективной трассировки лучей • Вызов шейдера пересечения для всех лучей даже при наличии всего нескольких сфер в сцене требует значительных вычислительных ресурсов. • Интенсивная работа графического процессора приводит к перегреву ноутбука, расходу электроэнергии и снижению частоты кадров. • Неэффективная трассировка лучей ухудшает качество изображения и производительность приложения. 42:05 Объяснение работы шейдеров • В приложении используются шейдеры генерации лучей, тумана и пересечения. • Шейдер пересечения математически вычисляет пересечение луча со сферой и сообщает об этом. • Шейдер попадания визуализирует сферу, добавляя освещение и другие визуальные эффекты. 48:50 Взаимодействие шейдеров • Шейдер пересечения выполняет все вычисления, определяя, попал ли луч в сферу. • Если пересечение зафиксировано, шейдер попадания рисует сферу. • Лучи в приложении сравниваются с пикселями на мониторе, каждый из которых требует обработки. 51:53 Изменение формы объектов 53:45 Изменение формы объектов 55:28 Математическая связь ограничительных рамок и сфер 56:45 Мысленный эксперимент с несколькими сферами 58:36 Процедурная геометрия и Vulcan API 01:00:13 Сложности работы с лучами в Vulcan 01:03:06 Иерархия ограничивающих объёмов и структуры ускорения 01:04:11 Заключение и рекомендации

, чтобы оставлять комментарии