086 Vulkan API: Область данных таблицы привязки шейдеров для трассировки лучей 15.0

086 Vulkan API:  Область данных таблицы привязки шейдеров для трассировки лучей 15.0

Видео: 086 Vulkan API: Область данных таблицы привязки шейдеров для трассировки лучей 15.0

RuTube

Ленинский Букварь

Опубликовано: 18.05.2026 | Продолжительность: 00:38:22

00:00 Введение в тему Обсуждение таблицы привязки шейдеров SBT и данных включенных в область данных для SBT. Цель включить данные в SBT и сделать их доступными в шейдерах. 00:47 Пример приложения Представление приложения для трассировки лучей SBT data из решения Vulcan Examples от Саши Виллемса. Идея реализации: таблица привязки шейдеров должна содержать область данных для передачи информации в шейдеры. 01:41 Запуск приложения Запуск приложения и демонстрация отрисованного треугольника и шахматного узора. Описание структуры изображения: чёрный фон шахматный узор и красный треугольник. 04:28 Структура таблицы привязки шейдеров Функция создания таблицы привязки шейдеров и выделение места для дескриптора. Дескриптор представляет собой указатели на лямбда-функции для вызова в конвейере трассировки лучей. 06:09 Операции с памятью Создание буферов для каждой записи в таблице привязки шейдеров. Маппинг и копирование дескрипторов и данных о дескрипторе шейдера. Разделение областей данных для промахов попаданий и непопаданий. 08:18 Флаги и свойства памяти Важность флагов таких как видимость для хоста и согласованность с хостом. Память видна как графическому так и центральному процессору. 10:17 Различия между шейдерами Обсуждение различий между шейдерами для попадания промаха рендеринга и растеризации. Каждый шейдер может обращаться только к своим переменным. 12:36 Создание таблицы привязки шейдеров Встраивание данных в каждую запись таблицы привязки шейдеров. Данные могут быть прочитаны устройством во время трассировки лучей. Когерентная и видимая для хоста память обеспечивает общую видимость для центрального и графического процессоров. 13:11 Барьеры и распределение памяти Необходимость понимания работы барьеров для правильного распределения памяти. Важность правильного распределения памяти для корректной работы системы. 13:56 Таблица привязки шейдеров Используется обычная таблица привязки шейдеров с дополнительными слотами для Vec3. Шейдеры для рендеринга обработки и попадания находятся в области данных. Расширение для трассировки лучей включает payload в ext hit value. 14:52 Передача данных для шейдера Данные для шейдера передаются через layout shader record ext sb. После попадания обновляется значение попадания в данные SBT записи попадания. 15:39 Обработка промахов и попаданий Промахи решаются в пользу уайт попадания в пользу другого цвета. Белый цвет используется для промахов красный для попаданий. 16:41 Барицентрические координаты Барицентрические координаты используются для удара. Геометрический идентификатор преобразуется в красный цвет при попадании. 17:48 Генератор лучей Генератор лучей включает систему камер и ускоритель высшего уровня. RGB для генерации лучей преобразуется в серый цвет. 18:40 Параметры камеры T-Min и T-Max определяют как далеко заходить в подсчётах попаданий. Подсчёт попаданий начинается после некоторого времени ожидания. 19:28 Шахматная доска Шахматная доска используется для демонстрации области видимости и записи данных. Чёрный цвет обозначает границу а белый и красный промахи и попадания соответственно. 21:06 Трассировка лучей Лучи трассируются только в областях без серого цвета. Белый цвет означает промах красный попадание. 22:13 Логика трассировки В ветке else кода нет трассировки луча. Область шахматной доски ограничена всё остальное окрашено в чёрный цвет. 24:35 Изменение цвета Изменение цвета области серого цвета не требует перекомпиляции кода. Для пропущенных участков отображается цвет из шейдера ray gen. 25:58 Обновление цвета Обновление цвета области серого цвета приводит к изменению отображения. Шейдер ray gen используется для отображения данных без генерации лучей. 26:49 Изменение цвета без перекомпиляции Изменение цвета в шейдере не требует перекомпиляции. Результаты меняются без дополнительных действий. 27:18 Работа с исходным кодом Изменение цвета происходит из исходного кода. Возвращение к серому цвету после изменения. 28:26 Эксперименты с цветами Добавление жёлтого цвета. Влияние изменения значения на треугольник. 29:38 Важность операций с памятью Операции с памятью в Vulkan критически важны. Необходимость понимания областей буфера флагов и использования буфера. 30:58 Запись данных в изображение Запись манипуляций с данными в изображение. Вывод изображения на цепочку буферов для отображения на экране. 32:48 Результаты трассировки лучей Проверка результатов трассировки лучей: серые белые и красные области. Объяснение работы трассировки лучей. 33:43 Планы по реализации трассировки лучей Реализация базовой трассировки лучей вызова трассировки пересечения извлечения позиции отражения привязки данных таблицы шейдеров теней текстур и GLTS. 34:40 Завершение серии про трассировку лучей 35:32 Барицентрические координаты 36:31 Рекомендации по изучению Vulkan 37:25 Установка Vulkan и трассировка лучей,

#

Категория видео: Обучение

4-11.mp4
Смотреть
Уроки вождения "чисто по-женски"
  2026-06-15 в 13:00:20
#04 C# WPF UI - Пользовательское окно Хром  и стили
Смотреть
#06 C# WPF UI - Присоединенные свойства
Смотреть
Kill Two Birds With One Stone.mp4
Смотреть
English With Olga Alekseeva
  2026-06-15 в 12:56:27
Коморкинг в Москве
Смотреть
Ленинский Букварь
  2026-06-02 в 21:08:20
#13 Программирование шахмат на C# - Рокировка
Смотреть
Древняя Русь:  От монеты к гривне и обратно. Времена и Эпохи
Смотреть
Гамма Мира - Олег Душин. Облик Культуры
  2026-06-15 в 13:18:33
Как спасти жизнь после ДТП?
Смотреть
#07 C# WPF UI - Анимация раскадровки
Смотреть
Ленинский Букварь
  2026-06-05 в 17:36:28
Что было на реальном ЕГЭ 2026
Смотреть
География ОГЭ 2026 Умскул
  2026-06-15 в 13:35:28