#052 Vulkan API: Трассировка лучей 4.2: Таблица шейдеров vkGetRayTracingShaderGroupHandlesKHR

00:00 Введение и обзор шейдеров • Приветствие и начало выпуска программы CUDA Education. • Обсуждение группы шейдеров: raygen, miss и hit. • Объяснение работы шейдеров на примере треугольника: луч, который не попадает в геометрию, окрашивается в синий цвет, а при попадании в геометрию треугольника используются разные цвета. 00:49 Взаимодействие с камерой и масштабирование • Демонстрация влияния масштаба изображения на видимость треугольника. • Объяснение поведения камеры, похожей на сферу, при увеличении и уменьшении масштаба. 01:56 Возвращение к теме таблицы привязки шейдеров • Автор осознаёт, что забыл обсудить таблицу привязки шейдеров. • Решение вернуться к этой теме для лучшего понимания процесса. 02:50 Определение таблицы привязки шейдеров • Таблица привязки шейдеров как связующее звено между трубопроводом трассировки лучей и шейдерами. • Роль структур ускорения в контексте таблицы привязки. 04:26 Структура ускорения и её уровни • Объяснение структуры ускорения нижнего уровня как геометрии треугольника. • Структура ускорения верхнего уровня как геометрия сцен и экземпляры объектов. • Взаимодействие между структурами ускорения и конвейером трассировки лучей. 06:25 Создание таблицы привязки шейдеров • Наличие трёх шейдеров и соответствующих таблиц привязки. • Важность буферов для хранения данных. • Функция vk get ray tracing shader для получения дескрипторов шейдерных групп. 10:49 Процесс создания таблицы привязки • Создание вектора shader handle storage и его копирование в память. • Сопоставление таблицы привязки шейдеров с данными хранилища дескрипторов. • Выравнивание размера дескриптора для корректного отображения данных. 14:40 Заключение и эксперимент • Подчёркивание важности таблицы привязки шейдеров для управления ресурсами графического процессора. • Эксперимент с отсутствием сопоставления таблицы привязки среднего шейдера для проверки возможных сбоев. 15:02 Проблемы с «мисс шейдером» • Приложение работает, но экран пустой. • «Мисс шейдер» отсутствует в конвейере трассировки лучей. • «Мисс шейдер» закомментирован. 16:14 Влияние на генерацию лучей • Конвейер трассировки лучей не знает о шейдере генерации лучей. • Отсутствие лучей приводит к пустому экрану. 17:13 Комментирование хитового шейдера • Хитовый шейдер не сообщается конвейеру трассировки лучей о повреждении. • Ожидание: отсутствие инструкций по попаданию лучей. 19:25 Результаты без шейдеров • Пустой экран, приложение работает. • Управление памятью и таблица привязки шейдеров. 22:27 Взаимодействие шейдеров и структуры ускорения • Таблица привязки шейдеров взаимодействует с шейдерами и структурой ускорения. • Логическая цепочка взаимодействия. 25:05 Рекомендации по установке • Необходимы руководства по установке Vulcan SDK и примеров. • Требования к графическому процессору: поддержка трассировки лучей для NVIDIA RTX и выше. • Призыв к подписке и лайкам.

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

00:00 Введение и обзор шейдеров • Приветствие и начало выпуска программы CUDA Education. • Обсуждение группы шейдеров: raygen, miss и hit. • Объяснение работы шейдеров на примере треугольника: луч, который не попадает в геометрию, окрашивается в синий цвет, а при попадании в геометрию треугольника используются разные цвета. 00:49 Взаимодействие с камерой и масштабирование • Демонстрация влияния масштаба изображения на видимость треугольника. • Объяснение поведения камеры, похожей на сферу, при увеличении и уменьшении масштаба. 01:56 Возвращение к теме таблицы привязки шейдеров • Автор осознаёт, что забыл обсудить таблицу привязки шейдеров. • Решение вернуться к этой теме для лучшего понимания процесса. 02:50 Определение таблицы привязки шейдеров • Таблица привязки шейдеров как связующее звено между трубопроводом трассировки лучей и шейдерами. • Роль структур ускорения в контексте таблицы привязки. 04:26 Структура ускорения и её уровни • Объяснение структуры ускорения нижнего уровня как геометрии треугольника. • Структура ускорения верхнего уровня как геометрия сцен и экземпляры объектов. • Взаимодействие между структурами ускорения и конвейером трассировки лучей. 06:25 Создание таблицы привязки шейдеров • Наличие трёх шейдеров и соответствующих таблиц привязки. • Важность буферов для хранения данных. • Функция vk get ray tracing shader для получения дескрипторов шейдерных групп. 10:49 Процесс создания таблицы привязки • Создание вектора shader handle storage и его копирование в память. • Сопоставление таблицы привязки шейдеров с данными хранилища дескрипторов. • Выравнивание размера дескриптора для корректного отображения данных. 14:40 Заключение и эксперимент • Подчёркивание важности таблицы привязки шейдеров для управления ресурсами графического процессора. • Эксперимент с отсутствием сопоставления таблицы привязки среднего шейдера для проверки возможных сбоев. 15:02 Проблемы с «мисс шейдером» • Приложение работает, но экран пустой. • «Мисс шейдер» отсутствует в конвейере трассировки лучей. • «Мисс шейдер» закомментирован. 16:14 Влияние на генерацию лучей • Конвейер трассировки лучей не знает о шейдере генерации лучей. • Отсутствие лучей приводит к пустому экрану. 17:13 Комментирование хитового шейдера • Хитовый шейдер не сообщается конвейеру трассировки лучей о повреждении. • Ожидание: отсутствие инструкций по попаданию лучей. 19:25 Результаты без шейдеров • Пустой экран, приложение работает. • Управление памятью и таблица привязки шейдеров. 22:27 Взаимодействие шейдеров и структуры ускорения • Таблица привязки шейдеров взаимодействует с шейдерами и структурой ускорения. • Логическая цепочка взаимодействия. 25:05 Рекомендации по установке • Необходимы руководства по установке Vulcan SDK и примеров. • Требования к графическому процессору: поддержка трассировки лучей для NVIDIA RTX и выше. • Призыв к подписке и лайкам.

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