#144 GPU вычисления: трассировка лучей 2.0 - Обзор

00:00 Введение и цель видео • Приветствие и начало программы CUDA Education. • Цель видео: краткий обзор алгоритма вычислительной трассировки лучей. • Запуск приложения на встроенной видеокарте Intel для лучшего понимания процесса. 00:56 Обзор алгоритма • Цель видео — дать начальный обзор алгоритма. • Обсуждение этапов работы алгоритма. 01:21 Основы трассировки лучей • Объяснение компьютерного моделирования трассировки лучей без использования аппаратного обеспечения. • Пример с NVIDIA RTX и GTX, подчёркивание, что пример не требует поддержки трассировки лучей. 03:08 Реализация трассировщика • Использование буферов хранения шейдеров для передачи геометрической информации. • Вычислительный шейдер обрабатывает данные и выводит результаты на изображение. • Графический конвейер отображает результаты вычислительного шейдера. 04:50 Управление ресурсами • Управление семейством очередей Q для графики и вычислений. • Создание командного пула и буферов команд. 06:36 Синхронизация CPU и GPU • Использование fences для синхронизации CPU и GPU. • Избегание перезаписи буфера вычислительных команд. 08:16 Структура данных и геометрия • Единая структура данных для света, камеры и тумана. • Процедурная геометрия: сферы создаются математически. • Буфер хранения объектов для параметров сцены. 10:46 Типы объектов сцены • Определение типов объектов: сфера равна нулю, плоскость — единице. • Различия в свойствах сфер и плоскостей. 12:07 Оптимизация памяти • Оптимизация памяти через отступы для выравнивания элементов. • Подготовка изображения хранилища для выходных данных трассировки лучей. 12:44 Деструктор и управление ресурсами • Использование деструктора для освобождения ресурсов. • Подготовка функции изображения хранилища для Android. 13:44 Проверка свойств формата текстуры • Находим свойства устройства для запрашиваемой текстуры. • Отформатируем свойства формата физического устройства. • Проверяем, поддерживает ли запрошенный формат изображения операции хранения изображений. 14:29 Тестирование функций укладки плитки и сохранения изображения • Тестируем оптимальные функции укладки плитки и функцию сохранения изображения в формате VK. • Утверждаем результаты тестирования. 15:01 Подготовка текстуры для блиц-таргета • Настраиваем параметры изображения: тип, формат, экстент, уровни карты, слои массива, образцы, разбиение на плитки, начальный макет. • Создаём изображение для хранения. 17:31 Создание дескриптора изображения • Создаём дескриптор изображения с помощью VK Create Image. • Связываем память изображений. 18:27 Компоновка изображений и добавление барьера начальной загрузки • Компонуем изображения. • Добавляем барьер начальной загрузки в графическую очередь. 19:57 Барьер для конвейера и очистка командного буфера • Используем барьер для конвейера VK CMD в нижнем регистре для синхронизации. • Очищаем командный буфер и создаём сэмплер. 21:29 Настройка буфера хранения вычислительных шейдеров • Настраиваем и заполняем буфер хранения вычислительных шейдеров. • Подготавливаем идентификаторы буферов хранения для идентификации объектов. 22:02 Добавление объектов в сцену • Добавляем несколько сфер в сцену. • Используем лямбда-код для упрощения создания объектов. 24:51 Копирование данных и уничтожение промежуточного буфера • Копируем данные с центрального процессора на графический процессор. • Уничтожаем промежуточный буфер после использования. 25:48 Подготовка графических ресурсов и настройка конвейера • Подготавливаем графические ресурсы для отображения результатов трассировки лучей. • Устанавливаем привязки макета и обновляем наборы дескрипторов. 26:32 Загрузка шейдеров и проверка результатов • Загружаем вершинный и фрагментарный шейдеры. • Проверяем результаты проверки VK для подтверждения корректности работы.

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

00:00 Введение и цель видео • Приветствие и начало программы CUDA Education. • Цель видео: краткий обзор алгоритма вычислительной трассировки лучей. • Запуск приложения на встроенной видеокарте Intel для лучшего понимания процесса. 00:56 Обзор алгоритма • Цель видео — дать начальный обзор алгоритма. • Обсуждение этапов работы алгоритма. 01:21 Основы трассировки лучей • Объяснение компьютерного моделирования трассировки лучей без использования аппаратного обеспечения. • Пример с NVIDIA RTX и GTX, подчёркивание, что пример не требует поддержки трассировки лучей. 03:08 Реализация трассировщика • Использование буферов хранения шейдеров для передачи геометрической информации. • Вычислительный шейдер обрабатывает данные и выводит результаты на изображение. • Графический конвейер отображает результаты вычислительного шейдера. 04:50 Управление ресурсами • Управление семейством очередей Q для графики и вычислений. • Создание командного пула и буферов команд. 06:36 Синхронизация CPU и GPU • Использование fences для синхронизации CPU и GPU. • Избегание перезаписи буфера вычислительных команд. 08:16 Структура данных и геометрия • Единая структура данных для света, камеры и тумана. • Процедурная геометрия: сферы создаются математически. • Буфер хранения объектов для параметров сцены. 10:46 Типы объектов сцены • Определение типов объектов: сфера равна нулю, плоскость — единице. • Различия в свойствах сфер и плоскостей. 12:07 Оптимизация памяти • Оптимизация памяти через отступы для выравнивания элементов. • Подготовка изображения хранилища для выходных данных трассировки лучей. 12:44 Деструктор и управление ресурсами • Использование деструктора для освобождения ресурсов. • Подготовка функции изображения хранилища для Android. 13:44 Проверка свойств формата текстуры • Находим свойства устройства для запрашиваемой текстуры. • Отформатируем свойства формата физического устройства. • Проверяем, поддерживает ли запрошенный формат изображения операции хранения изображений. 14:29 Тестирование функций укладки плитки и сохранения изображения • Тестируем оптимальные функции укладки плитки и функцию сохранения изображения в формате VK. • Утверждаем результаты тестирования. 15:01 Подготовка текстуры для блиц-таргета • Настраиваем параметры изображения: тип, формат, экстент, уровни карты, слои массива, образцы, разбиение на плитки, начальный макет. • Создаём изображение для хранения. 17:31 Создание дескриптора изображения • Создаём дескриптор изображения с помощью VK Create Image. • Связываем память изображений. 18:27 Компоновка изображений и добавление барьера начальной загрузки • Компонуем изображения. • Добавляем барьер начальной загрузки в графическую очередь. 19:57 Барьер для конвейера и очистка командного буфера • Используем барьер для конвейера VK CMD в нижнем регистре для синхронизации. • Очищаем командный буфер и создаём сэмплер. 21:29 Настройка буфера хранения вычислительных шейдеров • Настраиваем и заполняем буфер хранения вычислительных шейдеров. • Подготавливаем идентификаторы буферов хранения для идентификации объектов. 22:02 Добавление объектов в сцену • Добавляем несколько сфер в сцену. • Используем лямбда-код для упрощения создания объектов. 24:51 Копирование данных и уничтожение промежуточного буфера • Копируем данные с центрального процессора на графический процессор. • Уничтожаем промежуточный буфер после использования. 25:48 Подготовка графических ресурсов и настройка конвейера • Подготавливаем графические ресурсы для отображения результатов трассировки лучей. • Устанавливаем привязки макета и обновляем наборы дескрипторов. 26:32 Загрузка шейдеров и проверка результатов • Загружаем вершинный и фрагментарный шейдеры. • Проверяем результаты проверки VK для подтверждения корректности работы.

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