阅读本文最好是有使用过图形接口的经验如DirectX3D或OpenGL等
目前没有发现哪个中英文教程能把Vulkan各对象之间的关系从宏观视角讲清楚的。导致初学者很迷茫,因此希望通过本文能将Vulkan图像渲染中各种对象的关系讲清楚帮助到大家。具体接口细节还需要查看Vulkan文档或其他教程
结构图
各对象介绍
Instance
Instance是应用程序与Vulkan之间的第一个接口对象,通过Instance可以列举出当前平台上有多少个支持Vulkan的物理设备(Physical Device)
Physical Device
每个Physical Device代表一个支持Vulkan的物理设备,通常来说是一个显卡(GPU),也可能是别的设备比如NPU,DSP等
QueueFamily
每个Physical Device可能有不同的功能,比如显卡具有计算和图形功能,而NPU只有计算功能,DSP具有计算和解码功能。这些功能都由Physical Device的QueueFamily体现,每种功能对应一中QueueFamily。
应用与Vulkan的交互逻辑就是,通过QueueFamily创建出对应的Queue,然后将对应的Command推到Queue中,Vulk