画一个三角形流程
1、实例和物理设备选择
Vulkan应用程序首先通过VkInstance(VkInstance instance;),创建实例后可查询支持的硬件,可以选择一个或者多个VkPhysicalDevice(VkPhysicalDevice physicalDevice = VK_NULL_HANDLE).
2、逻辑设备和队列系列
选择要使用的正确硬件设备后,创建一个VkDevice(VkDevice device),还需要指定要使用的队列系列。大多数使用 Vulkan 执行的操作,如绘制命令和内存操作,都是通过将它们提交给一个异步执行的VkQueue(VkQueue graphicsQueue;).
3、 窗口表面和交换链
需要创建一个窗口来呈现渲染图像。需要2个组件来实际渲染到一个窗口:①VkSurfaceKHR(VkSurfaceKHR surface;),②VkSwapchainKHR(VkSwapchainKHR swapChain;)。KHR后缀意味着这些对象是Vulkan扩展的一部分。
Surface 是对要渲染到的窗口的跨平台抽象,通常通过提供对本机窗口句柄的引用来实例化,例如HWND在 Windows 上。
交换链是渲染目标的集合。它的基本目的是确保我们当前渲染的图像与当前屏幕上的图像不同。这对于确保只显示完整图像很重要。每次我们想要绘制一个帧时,我们都必须要求交换链为我们提供要渲染的图像。当我们完成绘制帧时,图像将返回到交换链,以便在某个时候显示在屏幕上。渲染目标的数量和将完成的图像呈现到屏幕上的条件取决于当前模式。
4、图像视图和帧缓冲区
要绘制从交换链

本文详细介绍了使用Vulkan API从创建实例到呈现图像的全过程,包括选择物理设备、创建逻辑设备、窗口表面、交换链、图像视图、帧缓冲区、渲染通道、图形流水线、命令池和主渲染循环等关键步骤。
最低0.47元/天 解锁文章
542

被折叠的 条评论
为什么被折叠?



