#110 Косвенный рендеринг, отброс невидимого и LOD, Буферы косвенных команд на GPU, часть 11

00:00 Введение в косвенную команду • Обсуждение параметра буферизации в косвенной команде. • Первый параметр — буфер команд, второй — буфер для выполнения команд рисования. 01:00 Косвенное многократное рисование • Объяснение процесса подчинения буфера и выполнения одного вызова draw от центрального процессора к графическому процессору. • Графический процессор считывает данные из буфера. 01:51 Проблемы с последовательными вызовами draw • При отсутствии функции косвенного многократного розыгрыша приходится отправлять каждый вызов draw по очереди. • Цикл for увеличивает размер косвенных команд и выполняет вызовы draw вручную. • Последовательная отправка более 200 000 команд неэффективна из-за накладных расходов на драйверы и проблем с синхронизацией. 02:49 Эффективность одного вызова draw • Один вызов draw с записью всей информации в графический процессор значительно эффективнее последовательной отправки команд. • Графический процессор может считывать данные из буфера в режиме in-read. 03:52 Использование Insight Graphics • Рекомендация использовать инструмент Insight Graphics для отладки графики на графических процессорах NVIDIA. • Демонстрация более 260 000 вызовов draw в инструменте. 05:26 Роль шейдера вызова • Шейдер вызова решает, рисовать ли объект, основываясь на дистанционном тесте. • Если объект находится в пространстве камеры, он показывается с номером экземпляра один. • Если объект вне зоны видимости камеры, он не показывается. 07:21 Буферы косвенных команд • Создание массива буферов для команд косвенного рисования. • Буферы косвенных команд находятся на стороне графического процессора и должны быть заполнены внешним источником, таким как устройство Vulcan. 09:01 Структура оболочки на стороне процессора • Создание структуры оболочки на стороне процессора, имитирующей структуру на стороне графического процессора. • Структура оболочки должна быть максимального размера для корректной работы. 10:50 Копирование буфера в графический процессор • Копирование буфера и его данных в графический процессор. • Использование свойства VK memory device local bit для указания локальной памяти графического процессора. • Флаг косвенного использования буфера VK buffer позволяет выполнять косвенные вызовы draw. 11:46 Запись данных вычислительным шейдером • Вычислительный шейдер может записывать данные в буфер. • Первый индекс, подсчет индексов и другие данные записываются на стороне графического процессора. • Косвенная команда «Размер индексированного файла» решает проблему. 12:53 Определение размера косвенных команд • Необходимо определить максимальное количество вызовов отрисовки. • Умножить это количество на косвенные команды VK draw index. • Размер косвенных команд должен быть максимально возможным. 14:27 Промежуточная буферизация • Косвенные команды на стороне процессора буферизуются на стороне графического процессора. • Важно правильно настроить флаги для буфера, чтобы указать его назначение и возможности использования. 15:20 Создание буфера на графическом процессоре • Буфер должен вместить максимальное количество вызовов розыгрыша, например, 262 000. • Необходимо убедиться, что буфер способен обработать все вызовы. 17:01 Привязка буфера • Буфер вывода команд косвенного рисования должен быть привязан. • Шейдер на графическом процессоре должен иметь доступ к буферу. 20:11 Синхронизация командных буферов • Разделение семейств Q для графики и вычислений требует управления синхронизацией. • Семейство Q для графики отвечает за рендеринг, а семейство Q для вычислений — за определение видимости объектов. 21:45 Управление барьерами • Барьеры используются для управления потоком работы между графическими и вычислительными командами. • Неявная синхронизация возможна, если графика и вычисления выполняются одним набором ресурсов. 25:30 Роль центрального процессора • Центральный процессор связывает дескрипторы, распределяет вычисления и вставляет данные. • Он выдаёт косвенные вызовы draw, которые выполняются графическим процессором. 26:27 Рендеринг на графическом процессоре • Графический процессор читает данные из промежуточного буфера и выполняет рендеринг. • Для доступа к буферу графический процессор должен использовать бит косвенного буфера. 27:25 Введение в компьютерную графику 2026 • Для изучения компьютерной графики в 2026 году нужен компьютер под управлением Windows с графическим процессором Vulcan. • Рекомендуется графический процессор NVIDIA серии RTX и выше из-за наличия инструмента NSight. 27:45 Установка SDK и примеры • В руководстве номер один устанавливается пакет Vulcan SDK. • В руководстве номер 13 устанавливаются примеры. • Для запуска примеров трассировки лучей нужен графический процессор с поддержкой трассировки лучей, например, серия RTX от NVIDIA. 28:33 Процесс изучения • Изучение компьютерной графики — это процесс, который не произойдёт в одночасье. • Автор старается сделать видео простыми и понятными. 29:41 Завершение

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

00:00 Введение в косвенную команду • Обсуждение параметра буферизации в косвенной команде. • Первый параметр — буфер команд, второй — буфер для выполнения команд рисования. 01:00 Косвенное многократное рисование • Объяснение процесса подчинения буфера и выполнения одного вызова draw от центрального процессора к графическому процессору. • Графический процессор считывает данные из буфера. 01:51 Проблемы с последовательными вызовами draw • При отсутствии функции косвенного многократного розыгрыша приходится отправлять каждый вызов draw по очереди. • Цикл for увеличивает размер косвенных команд и выполняет вызовы draw вручную. • Последовательная отправка более 200 000 команд неэффективна из-за накладных расходов на драйверы и проблем с синхронизацией. 02:49 Эффективность одного вызова draw • Один вызов draw с записью всей информации в графический процессор значительно эффективнее последовательной отправки команд. • Графический процессор может считывать данные из буфера в режиме in-read. 03:52 Использование Insight Graphics • Рекомендация использовать инструмент Insight Graphics для отладки графики на графических процессорах NVIDIA. • Демонстрация более 260 000 вызовов draw в инструменте. 05:26 Роль шейдера вызова • Шейдер вызова решает, рисовать ли объект, основываясь на дистанционном тесте. • Если объект находится в пространстве камеры, он показывается с номером экземпляра один. • Если объект вне зоны видимости камеры, он не показывается. 07:21 Буферы косвенных команд • Создание массива буферов для команд косвенного рисования. • Буферы косвенных команд находятся на стороне графического процессора и должны быть заполнены внешним источником, таким как устройство Vulcan. 09:01 Структура оболочки на стороне процессора • Создание структуры оболочки на стороне процессора, имитирующей структуру на стороне графического процессора. • Структура оболочки должна быть максимального размера для корректной работы. 10:50 Копирование буфера в графический процессор • Копирование буфера и его данных в графический процессор. • Использование свойства VK memory device local bit для указания локальной памяти графического процессора. • Флаг косвенного использования буфера VK buffer позволяет выполнять косвенные вызовы draw. 11:46 Запись данных вычислительным шейдером • Вычислительный шейдер может записывать данные в буфер. • Первый индекс, подсчет индексов и другие данные записываются на стороне графического процессора. • Косвенная команда «Размер индексированного файла» решает проблему. 12:53 Определение размера косвенных команд • Необходимо определить максимальное количество вызовов отрисовки. • Умножить это количество на косвенные команды VK draw index. • Размер косвенных команд должен быть максимально возможным. 14:27 Промежуточная буферизация • Косвенные команды на стороне процессора буферизуются на стороне графического процессора. • Важно правильно настроить флаги для буфера, чтобы указать его назначение и возможности использования. 15:20 Создание буфера на графическом процессоре • Буфер должен вместить максимальное количество вызовов розыгрыша, например, 262 000. • Необходимо убедиться, что буфер способен обработать все вызовы. 17:01 Привязка буфера • Буфер вывода команд косвенного рисования должен быть привязан. • Шейдер на графическом процессоре должен иметь доступ к буферу. 20:11 Синхронизация командных буферов • Разделение семейств Q для графики и вычислений требует управления синхронизацией. • Семейство Q для графики отвечает за рендеринг, а семейство Q для вычислений — за определение видимости объектов. 21:45 Управление барьерами • Барьеры используются для управления потоком работы между графическими и вычислительными командами. • Неявная синхронизация возможна, если графика и вычисления выполняются одним набором ресурсов. 25:30 Роль центрального процессора • Центральный процессор связывает дескрипторы, распределяет вычисления и вставляет данные. • Он выдаёт косвенные вызовы draw, которые выполняются графическим процессором. 26:27 Рендеринг на графическом процессоре • Графический процессор читает данные из промежуточного буфера и выполняет рендеринг. • Для доступа к буферу графический процессор должен использовать бит косвенного буфера. 27:25 Введение в компьютерную графику 2026 • Для изучения компьютерной графики в 2026 году нужен компьютер под управлением Windows с графическим процессором Vulcan. • Рекомендуется графический процессор NVIDIA серии RTX и выше из-за наличия инструмента NSight. 27:45 Установка SDK и примеры • В руководстве номер один устанавливается пакет Vulcan SDK. • В руководстве номер 13 устанавливаются примеры. • Для запуска примеров трассировки лучей нужен графический процессор с поддержкой трассировки лучей, например, серия RTX от NVIDIA. 28:33 Процесс изучения • Изучение компьютерной графики — это процесс, который не произойдёт в одночасье. • Автор старается сделать видео простыми и понятными. 29:41 Завершение

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