概述
本章节先简要介绍Vulkan概念,以及它所解决的问题。然后,我们介绍使用Vulkan来绘制一个三角形的步骤。最后,我们将会介绍Vulkan API的基本结构和使用方式。
Vulkan起源
以往大多数图形API设计为采用固定功能的渲染管线,应用程序需按照一定格式提交顶点数据,配置光照和着色选项。
随着显卡架构逐渐成熟,图形硬件开始提供越来越多的可编程功能,这些新功能都必须以某种方式与现有的 API 集成。这么做导致驱动程序越来越复杂,应用程序开发者要处理的兼容性问题也越来越多。随着移动浪潮的到来,人们对移动GPU的要求也越来越高,但以往的图形API不能够对图形硬件进行精准地控制来提升效率,对多线程的支持也非常有限,导致没有发挥出图形硬件真正的潜力。
Vulkan设计为一个全新的跨平台图形API,由于没有历史包袱,Vulkan完全按照现代图形架构设计,它提供了更加详细的API给开发者,大大减少了驱动程序的开销,允许多个线程并行创建和提交指令,使用标准化的着色器字节码,将图形和计算功能进行了统一。