#036 Vulkan API: pipelines.cpp 2: preparePipelines()

00:00 Введение и благодарность • Приветствие и благодарность Саше Уильямсу за алгоритм CPP. • Упоминание о необходимости учебников №1 и №13 для запуска примеров. • Ссылка на обучающие материалы. 00:50 Описание алгоритма • Алгоритм показывает три отдельных конвейера: на дисплее, гиперцветном дисплее и гиперпространственном дисплее. • Повторное упоминание необходимых руководств для запуска на Windows с GPU. 01:22 Функция подготовки конвейеров • Фокус на функции подготовки конвейеров в алгоритме CPP. • Сложность функции и возможность нескольких видео по ней. 02:21 Обзор предыдущих серий • Упоминание предыдущих серий по топологии, полигональному режиму и другим аспектам. • Неразбериха с трафаретом глубины наложения и состоянием видового экрана. 03:26 Определение графического конвейера • Графический конвейер как логическая цепочка ресурсов и событий. • Важность вспомогательных функций инициализации. 04:55 Инициализация конвейера • Использование pipeline layout и render pass для инициализации конвейера. • Инкапсуляция работы в переменные и их связывание с конвейерной переменной. 05:53 Производные конвейеры • Производные конвейеры как способ повышения производительности. • Флаг разрешённых производных для конвейера VK. 07:40 Тестирование флага • Попытка изменить флаг и тестирование сценария. • Скрипт продолжает работать даже при изменении флага. 09:19 Создание производных конвейеров • Создание графического конвейера и добавление информации. • Все конвейеры после базового будут производными. 10:16 Индекс конвейера • Установка индекса конвейера равным минус единице. • Устойчивость алгоритма к изменениям индекса. 11:25 Ресурсы и создание нового конвейера • Наличие ресурсов F: информация о вершинах и цвете. • Создание нового конвейера с использованием тех же ресурсов. 12:29 Проверка особенностей • Проверка наличия специфических особенностей в конвейере. 12:36 Проверка особенностей Vulkan • Функция «особенности устройства» проверяет возможность отображения каркасов. • Если доступен режим заполнения, не сплошной, можно использовать каркасную версию. • Создаётся конвейер на основе ресурсов каркаса, информации о вершине и цвете. 13:33 Эксперименты с конвейером • Попытки удалить или аннулировать конвейер не повлияли на работу алгоритма. • В графическом определении VK Pipeline есть переменная типа VK Pipeline Cache, которая кэширует процесс создания конвейера. • Кэширование передаётся вместе с тремя конвейерами создания VK. 15:02 Важность переменной CI конвейера • Переменная CI конвейера всегда присутствует и является важной частью вызова функции. • Она связывает все компоненты алгоритма и обеспечивает его работу. • Важно понимать, какая информация передаётся между функциями. 17:01 Создание производных конвейеров • Перед созданием первого конвейера устанавливается флаг, разрешающий создание производных конвейеров. • После первого вызова конвейера устанавливается другой флаг, определяющий, что все последующие конвейеры будут производными от базового. • Логика работы с флагами позволяет управлять порядком создания конвейеров. 20:03 Дескрипторы и управление памятью • Набор дескрипторов управляет памятью и доступом к объектам. • В макете набора дескрипторов определяется единый буфер, доступный только вершинной стадии конвейера. • Информация из макета набора дескрипторов передаётся в функцию подготовки конвейеров. 22:42 Передача информации между функциями • Информация из макета набора дескрипторов включается в переменную компоновки конвейера. • Переменная компоновки конвейера инкапсулирует информацию для каждого графического конвейера. • Это обеспечивает связь между различными функциями и компонентами алгоритма. 24:26 Спецификация Vulkan API • Спецификация Vulkan API описывает нюансы создания графических конвейеров. • Для понимания нюансов рекомендуется изучить спецификацию. • Создание графического конвейера — ключевой этап работы с Vulkan. 25:02 Введение в тему • Обсуждение важности знания имён Холифилд и Майк Тайсон. • Упоминание о тестировании функций устройства и влиянии на рендеринг. 25:53 Настройка макета набора описаний • Завершение настройки макета набора описаний. • Подготовка конвейеров. 26:17 Команда build command buffers • Описание порядка операций в мастер-файле. • Подготовка ресурсов, унифицированных буферов и конвейеров. 26:54 Переменная render pass • Объяснение роли переменной render pass. • Связь render pass с командным буфером и проходом рендеринга. 28:56 Взаимодействие render pass с конвейером • Создание графического конвейера и его связь с render pass. • Неожиданное взаимодействие render pass с конвейером. 32:13 Демонстрация работы конвейера • Запуск кода и демонстрация трёх трубопроводов. • Важность звонков в «Вконтакте». 34:33 Настройка доступа к буферам 36:15 Вызов render pass 38:09 Преимущества Vulkan API 40:04 Заключение 40:44 Введение и мотивация 41:43 Установка и запуск примеров Vulkan 42:27 Самостоятельное изучение 43:14 Применение навыков 44:11 Заключение

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

00:00 Введение и благодарность • Приветствие и благодарность Саше Уильямсу за алгоритм CPP. • Упоминание о необходимости учебников №1 и №13 для запуска примеров. • Ссылка на обучающие материалы. 00:50 Описание алгоритма • Алгоритм показывает три отдельных конвейера: на дисплее, гиперцветном дисплее и гиперпространственном дисплее. • Повторное упоминание необходимых руководств для запуска на Windows с GPU. 01:22 Функция подготовки конвейеров • Фокус на функции подготовки конвейеров в алгоритме CPP. • Сложность функции и возможность нескольких видео по ней. 02:21 Обзор предыдущих серий • Упоминание предыдущих серий по топологии, полигональному режиму и другим аспектам. • Неразбериха с трафаретом глубины наложения и состоянием видового экрана. 03:26 Определение графического конвейера • Графический конвейер как логическая цепочка ресурсов и событий. • Важность вспомогательных функций инициализации. 04:55 Инициализация конвейера • Использование pipeline layout и render pass для инициализации конвейера. • Инкапсуляция работы в переменные и их связывание с конвейерной переменной. 05:53 Производные конвейеры • Производные конвейеры как способ повышения производительности. • Флаг разрешённых производных для конвейера VK. 07:40 Тестирование флага • Попытка изменить флаг и тестирование сценария. • Скрипт продолжает работать даже при изменении флага. 09:19 Создание производных конвейеров • Создание графического конвейера и добавление информации. • Все конвейеры после базового будут производными. 10:16 Индекс конвейера • Установка индекса конвейера равным минус единице. • Устойчивость алгоритма к изменениям индекса. 11:25 Ресурсы и создание нового конвейера • Наличие ресурсов F: информация о вершинах и цвете. • Создание нового конвейера с использованием тех же ресурсов. 12:29 Проверка особенностей • Проверка наличия специфических особенностей в конвейере. 12:36 Проверка особенностей Vulkan • Функция «особенности устройства» проверяет возможность отображения каркасов. • Если доступен режим заполнения, не сплошной, можно использовать каркасную версию. • Создаётся конвейер на основе ресурсов каркаса, информации о вершине и цвете. 13:33 Эксперименты с конвейером • Попытки удалить или аннулировать конвейер не повлияли на работу алгоритма. • В графическом определении VK Pipeline есть переменная типа VK Pipeline Cache, которая кэширует процесс создания конвейера. • Кэширование передаётся вместе с тремя конвейерами создания VK. 15:02 Важность переменной CI конвейера • Переменная CI конвейера всегда присутствует и является важной частью вызова функции. • Она связывает все компоненты алгоритма и обеспечивает его работу. • Важно понимать, какая информация передаётся между функциями. 17:01 Создание производных конвейеров • Перед созданием первого конвейера устанавливается флаг, разрешающий создание производных конвейеров. • После первого вызова конвейера устанавливается другой флаг, определяющий, что все последующие конвейеры будут производными от базового. • Логика работы с флагами позволяет управлять порядком создания конвейеров. 20:03 Дескрипторы и управление памятью • Набор дескрипторов управляет памятью и доступом к объектам. • В макете набора дескрипторов определяется единый буфер, доступный только вершинной стадии конвейера. • Информация из макета набора дескрипторов передаётся в функцию подготовки конвейеров. 22:42 Передача информации между функциями • Информация из макета набора дескрипторов включается в переменную компоновки конвейера. • Переменная компоновки конвейера инкапсулирует информацию для каждого графического конвейера. • Это обеспечивает связь между различными функциями и компонентами алгоритма. 24:26 Спецификация Vulkan API • Спецификация Vulkan API описывает нюансы создания графических конвейеров. • Для понимания нюансов рекомендуется изучить спецификацию. • Создание графического конвейера — ключевой этап работы с Vulkan. 25:02 Введение в тему • Обсуждение важности знания имён Холифилд и Майк Тайсон. • Упоминание о тестировании функций устройства и влиянии на рендеринг. 25:53 Настройка макета набора описаний • Завершение настройки макета набора описаний. • Подготовка конвейеров. 26:17 Команда build command buffers • Описание порядка операций в мастер-файле. • Подготовка ресурсов, унифицированных буферов и конвейеров. 26:54 Переменная render pass • Объяснение роли переменной render pass. • Связь render pass с командным буфером и проходом рендеринга. 28:56 Взаимодействие render pass с конвейером • Создание графического конвейера и его связь с render pass. • Неожиданное взаимодействие render pass с конвейером. 32:13 Демонстрация работы конвейера • Запуск кода и демонстрация трёх трубопроводов. • Важность звонков в «Вконтакте». 34:33 Настройка доступа к буферам 36:15 Вызов render pass 38:09 Преимущества Vulkan API 40:04 Заключение 40:44 Введение и мотивация 41:43 Установка и запуск примеров Vulkan 42:27 Самостоятельное изучение 43:14 Применение навыков 44:11 Заключение

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