#051 Vulkan API- Трассировка лучей 4.1- Таблица привязки шейдеров Размер дескриптора шейдеров SPH
00:00 Введение • Приветствие и анонс темы видео: таблица привязки шейдеров в Vulkan. • Объяснение подхода: изучение кода строка за строкой. • Призыв следить за серией видео для углублённого понимания Vulkan. 01:00 Установка Vulkan SDK и примеры • Рекомендации по установке Vulkan SDK: учебники 1 и 13. • Условия запуска примеров трассировки лучей: графический процессор с поддержкой трассировки лучей. • Требования для примеров трассировки лучей на NVIDIA: графический процессор RTX или выше. 02:19 Начало работы с примером • Описание процесса настройки Visual Studio и загрузки SDK. • Упоминание о серии видео по Vulkan и выделение одного примера для изучения. 03:22 Таблица привязки шейдеров • Первая строка кода в шейдере: функция создания таблицы привязки шейдеров. • Определение размера дескриптора группы шейдеров. 04:54 Заголовок шейдера • Объяснение заголовка шейдерной программы SPH: первые 80 байт содержат информацию для графического процессора. • Различие в интерпретации частей SPH в зависимости от этапа конвейера. 07:13 Свойства физического устройства • Определение свойств физического устройства для трассировки лучей. • Инициализация переменной, определяющей размер дескриптора группы. 08:21 Управление размером дескриптора • Управление размером дескриптора группы шейдеров для корректной работы. • Важность согласования размера дескриптора. 10:05 Создание таблицы привязки шейдеров • Создание вектора для хранения дескрипторов шейдерной группы. • Запрос группы шейдеров для конвейера трассировки лучей. 12:41 Обработка данных • Обработка данных типа void* в хранилище шейдеров. • Управление хранилищем данных шейдером. 14:26 Выравнивание дескрипторов • Создание трёх таблиц привязки шейдеров с учётом выравнивания дескрипторов. • Влияние выравнивания на считывание данных. 16:03 Порядок операций • Обсуждение порядка выполнения операций в коде. • Рекомендация использовать круглые скобки для обеспечения правильного порядка операций. 16:54 Определение группы шейдеров VK Get Ray Tracing • Группа шейдеров VK Get Ray Tracing относится к конвейеру трассировки лучей Query Ray Tracing Pipeline. 17:19 Флаги использования буфера VK • Флаги использования буфера VK представляют собой маску для различных видов флагов. • Таблица привязки шейдеров проверяется для подтверждения правильности использования. 19:06 Уникальные функции Vulkan • Vulkan предоставляет виртуальные адреса GPU непосредственно приложению. • Приложение может использовать указатели для доступа к данным буфера без дескрипторов. • Возможность загрузки и сохранения адресов в шейдерах с выполнением арифметических операций. 21:40 Создание буфера в Vulkan • Устройство Vulkan создаёт буфер с учётом флагов использования буфера и памяти. • Создаются буферы для таблиц привязки шейдеров raygen, mix и hit. • Все таблицы привязки шейдеров имеют одинаковый размер. 23:34 Проверка результатов • Пример проверяется в разных системах для обеспечения совместимости. • Учитываются возможные изменения технологий и форм-факторов устройств в будущем. 24:51 Инициализация и уничтожение объектов • Таблица привязки шейдеров raygen инициализируется в буфере команд. • Объекты уничтожаются после использования. 26:09 Операции с памятью • Копирование ручек представляет собой операцию с памятью. • Различие между таблицами привязки шейдеров определяется смещением памяти или выравниванием. 27:55 Размер дескриптора группы шейдеров • Размер дескриптора группы шейдеров является частью заголовка программы шейдеров. • Графический процессор использует начальные байты для выполнения программы. 30:13 Создание буфера на устройстве • Создание буфера на устройстве включает использование флагов, битовой маски и свойств памяти. • Указатель на данные, которые должны быть скопированы в буфер, является необязательным параметром. 32:01 Генерация лучей • Обсуждение генерации нескольких лучей для тестирования сцены. • Проверка влияния количества генерируемых лучей на производительность графического процессора. 32:45 Анонс следующего видео • Обсуждение создания наборов дескрипторов для трассировки лучей. • Упоминание о фрагменте кода. 33:03 Рекомендации по учебникам • Необходимость получения учебников №1 и №13 для работы с Vulkan в Windows. • Важность навыков для бизнеса, инженерного моделирования и САПР. 34:00 Значение навыков • Видеоигры как проверка навыков и возможность добавления визуальных элементов к анализу данных. • Рекомендация работать в группе для лучшего понимания. 35:03 Особенности Vulkan • Vulkan предоставляет программисту контроль над процессами в графическом процессоре и приложении. • Понимание создания треугольника упрощает дальнейшее изучение. 35:55 Трассировка лучей • Трассировка лучей позволяет создавать сцены в реальном времени с фотореалистичными эффектами. • Тенденция использования трассировки лучей в видеоиграх. 37:21 Заключение • Представление таблиц привязки шейдеров: «ярость», «промах» и «попадание».
00:00 Введение • Приветствие и анонс темы видео: таблица привязки шейдеров в Vulkan. • Объяснение подхода: изучение кода строка за строкой. • Призыв следить за серией видео для углублённого понимания Vulkan. 01:00 Установка Vulkan SDK и примеры • Рекомендации по установке Vulkan SDK: учебники 1 и 13. • Условия запуска примеров трассировки лучей: графический процессор с поддержкой трассировки лучей. • Требования для примеров трассировки лучей на NVIDIA: графический процессор RTX или выше. 02:19 Начало работы с примером • Описание процесса настройки Visual Studio и загрузки SDK. • Упоминание о серии видео по Vulkan и выделение одного примера для изучения. 03:22 Таблица привязки шейдеров • Первая строка кода в шейдере: функция создания таблицы привязки шейдеров. • Определение размера дескриптора группы шейдеров. 04:54 Заголовок шейдера • Объяснение заголовка шейдерной программы SPH: первые 80 байт содержат информацию для графического процессора. • Различие в интерпретации частей SPH в зависимости от этапа конвейера. 07:13 Свойства физического устройства • Определение свойств физического устройства для трассировки лучей. • Инициализация переменной, определяющей размер дескриптора группы. 08:21 Управление размером дескриптора • Управление размером дескриптора группы шейдеров для корректной работы. • Важность согласования размера дескриптора. 10:05 Создание таблицы привязки шейдеров • Создание вектора для хранения дескрипторов шейдерной группы. • Запрос группы шейдеров для конвейера трассировки лучей. 12:41 Обработка данных • Обработка данных типа void* в хранилище шейдеров. • Управление хранилищем данных шейдером. 14:26 Выравнивание дескрипторов • Создание трёх таблиц привязки шейдеров с учётом выравнивания дескрипторов. • Влияние выравнивания на считывание данных. 16:03 Порядок операций • Обсуждение порядка выполнения операций в коде. • Рекомендация использовать круглые скобки для обеспечения правильного порядка операций. 16:54 Определение группы шейдеров VK Get Ray Tracing • Группа шейдеров VK Get Ray Tracing относится к конвейеру трассировки лучей Query Ray Tracing Pipeline. 17:19 Флаги использования буфера VK • Флаги использования буфера VK представляют собой маску для различных видов флагов. • Таблица привязки шейдеров проверяется для подтверждения правильности использования. 19:06 Уникальные функции Vulkan • Vulkan предоставляет виртуальные адреса GPU непосредственно приложению. • Приложение может использовать указатели для доступа к данным буфера без дескрипторов. • Возможность загрузки и сохранения адресов в шейдерах с выполнением арифметических операций. 21:40 Создание буфера в Vulkan • Устройство Vulkan создаёт буфер с учётом флагов использования буфера и памяти. • Создаются буферы для таблиц привязки шейдеров raygen, mix и hit. • Все таблицы привязки шейдеров имеют одинаковый размер. 23:34 Проверка результатов • Пример проверяется в разных системах для обеспечения совместимости. • Учитываются возможные изменения технологий и форм-факторов устройств в будущем. 24:51 Инициализация и уничтожение объектов • Таблица привязки шейдеров raygen инициализируется в буфере команд. • Объекты уничтожаются после использования. 26:09 Операции с памятью • Копирование ручек представляет собой операцию с памятью. • Различие между таблицами привязки шейдеров определяется смещением памяти или выравниванием. 27:55 Размер дескриптора группы шейдеров • Размер дескриптора группы шейдеров является частью заголовка программы шейдеров. • Графический процессор использует начальные байты для выполнения программы. 30:13 Создание буфера на устройстве • Создание буфера на устройстве включает использование флагов, битовой маски и свойств памяти. • Указатель на данные, которые должны быть скопированы в буфер, является необязательным параметром. 32:01 Генерация лучей • Обсуждение генерации нескольких лучей для тестирования сцены. • Проверка влияния количества генерируемых лучей на производительность графического процессора. 32:45 Анонс следующего видео • Обсуждение создания наборов дескрипторов для трассировки лучей. • Упоминание о фрагменте кода. 33:03 Рекомендации по учебникам • Необходимость получения учебников №1 и №13 для работы с Vulkan в Windows. • Важность навыков для бизнеса, инженерного моделирования и САПР. 34:00 Значение навыков • Видеоигры как проверка навыков и возможность добавления визуальных элементов к анализу данных. • Рекомендация работать в группе для лучшего понимания. 35:03 Особенности Vulkan • Vulkan предоставляет программисту контроль над процессами в графическом процессоре и приложении. • Понимание создания треугольника упрощает дальнейшее изучение. 35:55 Трассировка лучей • Трассировка лучей позволяет создавать сцены в реальном времени с фотореалистичными эффектами. • Тенденция использования трассировки лучей в видеоиграх. 37:21 Заключение • Представление таблиц привязки шейдеров: «ярость», «промах» и «попадание».
