Vulkan Learning — 8. Multipass Rendering

Суть отрисовки в несколько проходов (multipass rendering) мы описали довольно подробно в заметке Vulkan Learning — 3. Swapchain. Depth Buffer. Render Pass. Framebuffers. Один проход (subpass) — суть запуск одного определенного пайплайна и получение на выходе некоего результата в виде Читать дальше …

Vulkan Learning — 7. Дескрипторы. Запись команд в командный буфер

Итак, нам осталось рассмотреть привязку данных наших трехмерных объектов (mesh, uniform variables, textures etc.) к пайплайну. Делается это при помощи различных команд, которые записываются в командный буфер. Начнем рассмотрение записи команд в буфер с некоего базового скелета: // Record commands Читать дальше …

Vulkan Learning — 6. 3d модель. Буферы памяти и изображения

Итак, нам осталось отрисовать трехмерную модель. Прежде всего, посмотрим, что модель собой представляет (рис. 1). Модель состоит из трех кусков данных: Mesh. Модель по сути представляет собой множество треугольников. Каждый треугольник задается тремя вершинами (vertices), а каждая вершина характеризуется тремя Читать дальше …

Vulkan Learning — 5. Acquiring Swapchain Image. Submitting Command Buffer. Presenting Image. Synchronization. Swapchain Recreation

В этой заметке рассмотрим тот кусок кода, который непосредственно берет изображение из нашего свопчейна, заставляет видеопроцессор нарисовать в нем что-то и отправляет готовое изображение на экран монитора. Command Buffer Программы, которые мы пишем, используя графические API, состоят из вызовов функций. Читать дальше …

Vulkan Learning — 4. Pipeline. Descriptor Sets. Push Constants

Следующий большой объект в объектной модели Vulkan — это Pipeline. Представляет он собой некий конвейер, через который проходят данные (вершины, текстуры и прочее), чтобы на выходе получилось изображение (то, которое мы увидим на экране). Несколько стадий пайплайна (и очень важных Читать дальше …

Vulkan Learning — 3. Swapchain. Depth Buffer. Render Pass. Framebuffers

Речь пойдет об инфраструктуре предназначенной сугубо для отрисовки и отображения графики на экране. Напомним, что отрисовка изображения суть присваивание значений всем его пикселям. Изображение хранится в оперативной памяти, а, будучи отрисованным, отображается на экране монитора. Участок памяти, в котором хранится Читать дальше …

Vulkan Learning — 2. Surface. Physical Device. Logical Device. Command Queues

Поверхность (Surface) Следующий шаг после создания Instance — создание поверхности (Surface). Vulkan использует абстракцию Surface для представления нативной оконной подсистемы имеющейся операционной системы. В каждой операционной системе имеется своя функция для создания поверхности и, соответственно, свое расширение (extension), частью которого Читать дальше …

Vulkan Learning — 1. Установка. Инициализация. Instance. Отладка

Недавно я завершил прохождение видеокурса по Vulkan, и спешу законспектировать информацию, пока она не выветрилась из моей дырявой головы. Литература Vulkan Tutorial LunarG Vulkan Samples Tutorial API without Secrets: Introduction to Vulkan by Pavel Lapinski Understanding Vulkan Objects Vulkan Guide Читать дальше …