#048 Vulkan API- Трассировка лучей 2.2 - Структура ускорения верхнего уровня - Экземпляры
00:00 Введение в тему • Обсуждение создания второго экземпляра объекта в контексте трассировки лучей. • Пример с треугольником: создание двух экземпляров треугольника в приложении. 01:00 Различия между трассировкой лучей и другими технологиями • Трассировка лучей использует графические процессоры и вычислительную мощность для создания фотореалистичной графики. • Приложения для трассировки лучей применяются в научных, бизнес-приложениях, видеоиграх и симуляторах. 02:00 Рекомендации по предыдущим урокам • Рекомендация посмотреть уроки 1 и 15 для установки Vulkan API на Windows. • Необходимые условия: компьютер с Windows и графический процессор с поддержкой Vulkan. 04:42 Демонстрация базового приложения • Представление базового приложения для трассировки лучей с одним треугольником. • Возможность масштабирования и поворота изображения. 05:50 Создание второго экземпляра треугольника • Копирование и вставка сценария для создания второго треугольника. • Минимальные изменения кода для создания второго экземпляра. 09:05 Анализ изменений в приложении • Сравнение приложений с одним и двумя треугольниками. • Цель: показать минимальные изменения кода для создания второго экземпляра. 10:26 Структура ускорения в трассировке лучей • Объяснение структуры ускорения верхнего и нижнего уровня. • Структура ускорения нижнего уровня: геометрия треугольника. 11:25 Дублирование объектов в симуляциях • Необходимость дублирования объектов в графических симуляциях, например, в видеоиграх. • Преимущества дублирования: экономия вычислительных ресурсов и улучшение графического восприятия. 13:06 Преимущества дублирования • Экономия памяти, операций с памятью и времени. • Улучшение производительности и отсутствие задержек. 13:26 Введение в концепцию структуры ускорения • Объяснение плавности и эффективности работы с объектами в «ландшафтном дизайнере». • Упоминание концепции структуры ускорения высшего уровня у «вулканских богов». • Создание нескольких экземпляров исходного объекта. 14:05 Создание копии объекта • Демонстрация создания копии объекта с помощью структуры ускорения. • Различие между оригиналом и экземпляром объекта. 14:53 Версия ray tracing basic • Упоминание о более старой версии ray tracing basic. • Рекомендация проверить старые версии на GitHub. 15:53 Изменения в матрице преобразования • Введение второй матрицы преобразования для второго экземпляра треугольника. • Необходимость перемещения треугольника для видимости второго экземпляра. 18:25 Управление экземплярами и буферами • Изменение размера структуры ускорения для работы с двумя экземплярами треугольника. • Создание буфера большего размера для двух треугольников. 21:04 Обработка данных на основе вектора • Обработка данных на основе вектора для управления экземплярами. • Подсчёт количества экземпляров внутри вектора. 24:04 Применение матрицы преобразования • Неизменность матрицы преобразования для первого треугольника. • Применение отдельной матрицы преобразования для второго экземпляра. 25:42 Различие треугольников в шейдерах • Создание индекса для отличия одного треугольника от другого. • Аналогия с определением дисплеев в Windows для программного различения треугольников. 26:51 Создание второго экземпляра и применение трансформации • Разработан второй экземпляр объекта. • Применена трансформация ко второму экземпляру. • Создан вектор для управления объектом. 27:20 Особенности трансформации второго экземпляра • Второй экземпляр является копией первого. • Второй экземпляр преобразуется для расположения рядом с первым треугольником. • Обработка объекта осуществляется через векторную структуру. 28:08 Структура ускорения высшего уровня • Основное внимание уделяется созданию структуры ускорения высшего уровня. • Структура ускорения высшего уровня работает с экземплярами объектов. • Создание нового экземпляра треугольника. 29:19 Структура ускорения нижнего уровня • Структура ускорения нижнего уровня создаёт вершины треугольника. • Вершины треугольника определяются структурой ускорения нижнего уровня. 30:06 Примитивный подсчёт и смещение • Обсуждение примитивного подсчёта и структуры vk acceleration structure build range info khr. • Смещение примитивных данных остаётся неизменным, так как используется один и тот же треугольник. 32:23 Смещение преобразования • Смещение преобразования остаётся неизменным для обоих приложений. • Матрицы преобразования используются отдельно. 33:52 Управление примитивным подсчётом • Изменение примитивного подсчёта требует управления. • Упоминание о спецификации Vulkan и уважении к её требованиям. 36:03 Эксперименты с параметрами • Изменение количества примитивов на единицу отменяет все изменения. • Эксперименты с первой вершиной и смещением преобразования не приводят к изменениям. 40:01 Влияние одинаковых преобразований 42:12 Перекрывающиеся треугольники 42:50 Возвращение к оригиналу 44:27 Структура ускорения высшего уровня 45:27 Буфер и примитивный подсчёт 46:45 Vulkan API и трассировка лучей 47:34 Ссылки и завершение
00:00 Введение в тему • Обсуждение создания второго экземпляра объекта в контексте трассировки лучей. • Пример с треугольником: создание двух экземпляров треугольника в приложении. 01:00 Различия между трассировкой лучей и другими технологиями • Трассировка лучей использует графические процессоры и вычислительную мощность для создания фотореалистичной графики. • Приложения для трассировки лучей применяются в научных, бизнес-приложениях, видеоиграх и симуляторах. 02:00 Рекомендации по предыдущим урокам • Рекомендация посмотреть уроки 1 и 15 для установки Vulkan API на Windows. • Необходимые условия: компьютер с Windows и графический процессор с поддержкой Vulkan. 04:42 Демонстрация базового приложения • Представление базового приложения для трассировки лучей с одним треугольником. • Возможность масштабирования и поворота изображения. 05:50 Создание второго экземпляра треугольника • Копирование и вставка сценария для создания второго треугольника. • Минимальные изменения кода для создания второго экземпляра. 09:05 Анализ изменений в приложении • Сравнение приложений с одним и двумя треугольниками. • Цель: показать минимальные изменения кода для создания второго экземпляра. 10:26 Структура ускорения в трассировке лучей • Объяснение структуры ускорения верхнего и нижнего уровня. • Структура ускорения нижнего уровня: геометрия треугольника. 11:25 Дублирование объектов в симуляциях • Необходимость дублирования объектов в графических симуляциях, например, в видеоиграх. • Преимущества дублирования: экономия вычислительных ресурсов и улучшение графического восприятия. 13:06 Преимущества дублирования • Экономия памяти, операций с памятью и времени. • Улучшение производительности и отсутствие задержек. 13:26 Введение в концепцию структуры ускорения • Объяснение плавности и эффективности работы с объектами в «ландшафтном дизайнере». • Упоминание концепции структуры ускорения высшего уровня у «вулканских богов». • Создание нескольких экземпляров исходного объекта. 14:05 Создание копии объекта • Демонстрация создания копии объекта с помощью структуры ускорения. • Различие между оригиналом и экземпляром объекта. 14:53 Версия ray tracing basic • Упоминание о более старой версии ray tracing basic. • Рекомендация проверить старые версии на GitHub. 15:53 Изменения в матрице преобразования • Введение второй матрицы преобразования для второго экземпляра треугольника. • Необходимость перемещения треугольника для видимости второго экземпляра. 18:25 Управление экземплярами и буферами • Изменение размера структуры ускорения для работы с двумя экземплярами треугольника. • Создание буфера большего размера для двух треугольников. 21:04 Обработка данных на основе вектора • Обработка данных на основе вектора для управления экземплярами. • Подсчёт количества экземпляров внутри вектора. 24:04 Применение матрицы преобразования • Неизменность матрицы преобразования для первого треугольника. • Применение отдельной матрицы преобразования для второго экземпляра. 25:42 Различие треугольников в шейдерах • Создание индекса для отличия одного треугольника от другого. • Аналогия с определением дисплеев в Windows для программного различения треугольников. 26:51 Создание второго экземпляра и применение трансформации • Разработан второй экземпляр объекта. • Применена трансформация ко второму экземпляру. • Создан вектор для управления объектом. 27:20 Особенности трансформации второго экземпляра • Второй экземпляр является копией первого. • Второй экземпляр преобразуется для расположения рядом с первым треугольником. • Обработка объекта осуществляется через векторную структуру. 28:08 Структура ускорения высшего уровня • Основное внимание уделяется созданию структуры ускорения высшего уровня. • Структура ускорения высшего уровня работает с экземплярами объектов. • Создание нового экземпляра треугольника. 29:19 Структура ускорения нижнего уровня • Структура ускорения нижнего уровня создаёт вершины треугольника. • Вершины треугольника определяются структурой ускорения нижнего уровня. 30:06 Примитивный подсчёт и смещение • Обсуждение примитивного подсчёта и структуры vk acceleration structure build range info khr. • Смещение примитивных данных остаётся неизменным, так как используется один и тот же треугольник. 32:23 Смещение преобразования • Смещение преобразования остаётся неизменным для обоих приложений. • Матрицы преобразования используются отдельно. 33:52 Управление примитивным подсчётом • Изменение примитивного подсчёта требует управления. • Упоминание о спецификации Vulkan и уважении к её требованиям. 36:03 Эксперименты с параметрами • Изменение количества примитивов на единицу отменяет все изменения. • Эксперименты с первой вершиной и смещением преобразования не приводят к изменениям. 40:01 Влияние одинаковых преобразований 42:12 Перекрывающиеся треугольники 42:50 Возвращение к оригиналу 44:27 Структура ускорения высшего уровня 45:27 Буфер и примитивный подсчёт 46:45 Vulkan API и трассировка лучей 47:34 Ссылки и завершение
