Сравнение процессов OpenGL и Vulkan
На изображении сравниваются два API для работы с графикой: OpenGL и Vulkan. Верхняя часть показывает процесс создания треугольника в OpenGL, который состоит всего из трех простых шагов: "create shader" (создать шейдер), "load mesh" (загрузить меш) и "draw triangle" (нарисовать треугольник). Этот процесс изображен как легкая прогулка для персонажа. В нижней части показан гораздо более сложный и длинный процесс создания того же треугольника в Vulkan, который включает множество этапов, таких как "create VkDevice" (создать устройство Vulkan), "create VkQueue" (создать очередь Vulkan), "create swapChain" (создать цепочку обмена), "create VkFramebuffer" (создать буфер кадра Vulkan), "create VkPipeline" (создать конвейер Vulkan), "create VkPipelineLayout" (создать макет конвейера Vulkan), "start renderpass" (начать рендер-проход), "start command buffer" (начать буфер команд), "render triangle" (отрендерить треугольник), "end renderpass" (завершить рендер-проход), "submit command buffer" (отправить буфер команд) и "present Frame" (представить кадр). Этот процесс изображен как тяжелое испытание с препятствиями и падениями для персонажей. В конце обоих процессов виден результат — разноцветный треугольник.
OpenGL. Create shader. Load mesh. Draw triangle. Vulkan. Create VkDevice. Create VkQueue. Create swapChain. Create VkFramebuffer. Create VkPipeline. Create VkPipelineLayout. Start renderpass. Create start command buffer. Render triangle. End renderpass. Submit command buffer. Present frame.