#045 Vulkan API: Трассировка лучей 1: Конвейер трассировки лучей

00:00 Введение в трассировку лучей • Трассировка лучей — новейшее изобретение в компьютерной графике. • Идея трассировки лучей: программно выпускаем пучок лучей, которые проходят по сцене и дают реалистичное представление о свете. • Разница между сценой с трассировкой лучей и без неё заключается в степени реалистичности. 00:53 Влияние на индустрию видеоигр • Индустрия видеоигр уделяет большое внимание трассировке лучей. • Сцены с трассировкой лучей получаются лучше благодаря точному взаимодействию света с материалами. 01:59 Причины задержки и доступность • Основная задержка в создании трассировки лучей была связана с вычислительной мощностью. • Современные графические процессоры, такие как NVIDIA RTX, позволяют реализовать трассировку лучей на потребительском уровне. 02:58 План обучения • Автор планирует изучить процесс трассировки лучей и поделиться знаниями с аудиторией. • Для изучения доступны два учебника: учебник номер один и учебник номер пятнадцать. 05:07 Необходимое оборудование • Для использования трассировки лучей нужен графический процессор RTX или AMD с соответствующими возможностями. • Компьютер должен работать под управлением Windows. 08:21 Основы трассировки лучей • Буфер Scratch используется как временное хранилище данных для трассировки лучей. • Структура ускорения трассировки лучей обеспечивает предварительную обработку сцены. 12:36 Конвейер трассировки лучей • Конвейер трассировки лучей отличается от конвейера традиционной компьютерной графики. • Существуют структуры ускорения верхнего и нижнего уровня. 14:00 Таблицы привязки • Таблицы привязки фиксируют данные о вводе лучей в сцену: количество промахов и попаданий. • Эти данные помогают улучшить качество изображения. 14:47 Лучи и фон • Лучи могут проходить мимо сцены и попадать на задний план или в открытый космос. • Можно создать фон, который поглощает лучи, показывая звёзды или небо. • Важно различать лучи, которые не попадают в цель, и те, что попадают в предметы. 15:29 Конвейер и дескрипторы • Конвейер и схема конвейера в Vulkan описывают, какие объекты находятся в памяти. • Набор дескрипторов позволяет идентифицировать объекты, например, изображения, звуковые файлы или документы Word. 16:09 Базовый код и Vulkan • Для работы с трассировкой лучей требуется базовый код и система камер. • Vulkan 1.1 и расширения для трассировки лучей обеспечивают необходимые функции. • Vulkan известен своим сложным и многострочным кодом. 17:24 Spare V и деструкторы • Spare V — это проприетарный язык, используемый для обеспечения соответствия драйверов различных устройств. • Необходимо уничтожать объекты после использования, чтобы избежать утечки памяти. • Деструкторы помогают управлять созданием и уничтожением объектов. 19:20 Создание и удаление буферов • Создаётся скретч-буфер для хранения временных данных. • Буфер структуры ускорения используется для хранения данных, необходимых для трассировки лучей. • Важно правильно удалять буферы после использования, чтобы не перегружать память. 22:30 Структура ускорения нижнего уровня • Структура ускорения нижнего уровня содержит геометрию сцены, включая вершины и треугольники. • Устанавливаются индексы для треугольников, начинается отсчёт с нуля. • Настраивается матрица преобразования идентичности. 25:28 Буферы и память • Обсуждаются буферы вершин, индексный буфер и буфер преобразования. • Память может быть видима как центральному процессору, так и графическому процессору. • Оптимизация генерации треугольников возможна, но в данном случае рассматривается упрощённая версия. 27:57 Создание геометрии ускоряющей структуры • Создаётся буфер для структуры ускорения нижнего уровня. • Структура ускорения обычно строится на устройстве, обычно графическом процессоре. • Предпочтение отдаётся построению структуры ускорения на устройстве, а не на хосте. 29:18 Структура ускорения верхнего уровня • Нижний уровень — это вершины треугольника. • Структура ускорения верхнего уровня содержит экземпляры объектов scenes. • Экземпляры объектов могут быть контейнерами для хранения данных. 29:52 Создание структуры ускорения • Структура ускорения верхнего уровня может включать несколько треугольников. • Пример структуры напоминает планету с вращающимися вокруг неё камнями. 31:43 Таблицы привязки шейдеров • Таблицы привязки шейдеров связывают программы и структуру ускорения верхнего уровня. • Используется схема привязки шейдеров rage и miss hit. 32:45 Наборы дескрипторов и конвейер трассировки лучей • Наборы дескрипторов описывают данные в памяти. • Создаётся конвейер трассировки лучей с группами шейдеров. 34:00 Единый буфер и изменение размера окна • Единый буфер содержит часто меняющиеся данные. • При изменении размера окна необходимо воссоздать образ хранилища и его дескриптор. 35:17 Командные буферы и трассировка лучей 38:07 Цепочка подкачки и презентация 40:45 Требования к графическому процессору 41:47 Свойства конвейера и структуры ускорения 44:07 Заключение и призыв к обучению 46:48 Завершение

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

00:00 Введение в трассировку лучей • Трассировка лучей — новейшее изобретение в компьютерной графике. • Идея трассировки лучей: программно выпускаем пучок лучей, которые проходят по сцене и дают реалистичное представление о свете. • Разница между сценой с трассировкой лучей и без неё заключается в степени реалистичности. 00:53 Влияние на индустрию видеоигр • Индустрия видеоигр уделяет большое внимание трассировке лучей. • Сцены с трассировкой лучей получаются лучше благодаря точному взаимодействию света с материалами. 01:59 Причины задержки и доступность • Основная задержка в создании трассировки лучей была связана с вычислительной мощностью. • Современные графические процессоры, такие как NVIDIA RTX, позволяют реализовать трассировку лучей на потребительском уровне. 02:58 План обучения • Автор планирует изучить процесс трассировки лучей и поделиться знаниями с аудиторией. • Для изучения доступны два учебника: учебник номер один и учебник номер пятнадцать. 05:07 Необходимое оборудование • Для использования трассировки лучей нужен графический процессор RTX или AMD с соответствующими возможностями. • Компьютер должен работать под управлением Windows. 08:21 Основы трассировки лучей • Буфер Scratch используется как временное хранилище данных для трассировки лучей. • Структура ускорения трассировки лучей обеспечивает предварительную обработку сцены. 12:36 Конвейер трассировки лучей • Конвейер трассировки лучей отличается от конвейера традиционной компьютерной графики. • Существуют структуры ускорения верхнего и нижнего уровня. 14:00 Таблицы привязки • Таблицы привязки фиксируют данные о вводе лучей в сцену: количество промахов и попаданий. • Эти данные помогают улучшить качество изображения. 14:47 Лучи и фон • Лучи могут проходить мимо сцены и попадать на задний план или в открытый космос. • Можно создать фон, который поглощает лучи, показывая звёзды или небо. • Важно различать лучи, которые не попадают в цель, и те, что попадают в предметы. 15:29 Конвейер и дескрипторы • Конвейер и схема конвейера в Vulkan описывают, какие объекты находятся в памяти. • Набор дескрипторов позволяет идентифицировать объекты, например, изображения, звуковые файлы или документы Word. 16:09 Базовый код и Vulkan • Для работы с трассировкой лучей требуется базовый код и система камер. • Vulkan 1.1 и расширения для трассировки лучей обеспечивают необходимые функции. • Vulkan известен своим сложным и многострочным кодом. 17:24 Spare V и деструкторы • Spare V — это проприетарный язык, используемый для обеспечения соответствия драйверов различных устройств. • Необходимо уничтожать объекты после использования, чтобы избежать утечки памяти. • Деструкторы помогают управлять созданием и уничтожением объектов. 19:20 Создание и удаление буферов • Создаётся скретч-буфер для хранения временных данных. • Буфер структуры ускорения используется для хранения данных, необходимых для трассировки лучей. • Важно правильно удалять буферы после использования, чтобы не перегружать память. 22:30 Структура ускорения нижнего уровня • Структура ускорения нижнего уровня содержит геометрию сцены, включая вершины и треугольники. • Устанавливаются индексы для треугольников, начинается отсчёт с нуля. • Настраивается матрица преобразования идентичности. 25:28 Буферы и память • Обсуждаются буферы вершин, индексный буфер и буфер преобразования. • Память может быть видима как центральному процессору, так и графическому процессору. • Оптимизация генерации треугольников возможна, но в данном случае рассматривается упрощённая версия. 27:57 Создание геометрии ускоряющей структуры • Создаётся буфер для структуры ускорения нижнего уровня. • Структура ускорения обычно строится на устройстве, обычно графическом процессоре. • Предпочтение отдаётся построению структуры ускорения на устройстве, а не на хосте. 29:18 Структура ускорения верхнего уровня • Нижний уровень — это вершины треугольника. • Структура ускорения верхнего уровня содержит экземпляры объектов scenes. • Экземпляры объектов могут быть контейнерами для хранения данных. 29:52 Создание структуры ускорения • Структура ускорения верхнего уровня может включать несколько треугольников. • Пример структуры напоминает планету с вращающимися вокруг неё камнями. 31:43 Таблицы привязки шейдеров • Таблицы привязки шейдеров связывают программы и структуру ускорения верхнего уровня. • Используется схема привязки шейдеров rage и miss hit. 32:45 Наборы дескрипторов и конвейер трассировки лучей • Наборы дескрипторов описывают данные в памяти. • Создаётся конвейер трассировки лучей с группами шейдеров. 34:00 Единый буфер и изменение размера окна • Единый буфер содержит часто меняющиеся данные. • При изменении размера окна необходимо воссоздать образ хранилища и его дескриптор. 35:17 Командные буферы и трассировка лучей 38:07 Цепочка подкачки и презентация 40:45 Требования к графическому процессору 41:47 Свойства конвейера и структуры ускорения 44:07 Заключение и призыв к обучению 46:48 Завершение

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