Vulkan填坑学习Day07—Window Surface
Vulkan Window Surface,到目前为止,我们了解到Vulkan是一个与平台特性无关联的API集合。它不能直接与窗口系统进行交互。为了将渲染结果呈现到屏幕,需要建立Vulkan与窗体系统之间的连接,我们需要使用WSI(窗体系统集成)扩展。
Vulkan Window Surface,到目前为止,我们了解到Vulkan是一个与平台特性无关联的API集合。它不能直接与窗口系统进行交互。为了将渲染结果呈现到屏幕,需要建立Vulkan与窗体系统之间的连接,我们需要使用WSI(窗体系统集成)扩展。
本文我们了解一下将渲染图像提交到屏幕的基本机制——Vulkan 交换链,并且需要在Vulkan上下文中被明确创建。从屏幕的角度观察,交换链本质上是一个图像队列。
Vulkan 逻辑设备与队列,在选择要使用的物理设备之后,我们需要设置一个逻辑设备用于交互。逻辑设备创建过程与instance创建过程类似,也需要描述我们需要使用的功能。
Vulkan物理设备与队列 ,通过VkInstance初始化Vulkan后,我们需要在系统中查找并选择一个支持我们所需功能的显卡。实际上,我们可以选择任意数量的显卡并同时使用他们,但在本小节中,我们简单的设定选择规则,即将查找到的第一个图形卡作为我们适合的物理设备。
创建Vulkan实例,与Vulkan打交道,通常的步骤是创建一个intance去初始化Vulkan library。这个instance是您的应用程序与Vulkan库之间的连接桥梁,通常创建过程中,需要向驱动程序提供一些应用层的信息。
开发Vulkan应用程序所需的最重要的组件就是SDK。它包括核心头文件、标准的Validation layers及调试工具集、和驱动Loader。
本部分主要介绍:将计算着色器与单独的计算队列一起使用,以将不同的卷积内核(和效果)实时应用于输入图像。
将 slink:VkAccelerationStructureNV 资源分类更改为非线性,并且将 slink: VkAccelerationStructureKHR 更改为既不是线性也不是非线性。为了达成 << resources-bufferimagegranularity,bufferImageGranularity >> 目的,这会影响内存分类。
Vulkan 基本类型,Vulkan 开发需要设计的类型非常多,整理其基本类型如下,主要包含设备、队列、命令缓冲、队列家族、渲染通,管线等……
这也是业界第一个开放的、跨平台的、跨厂商的光追加速标准,无论是此前的GPU计算单元,还是最新的光追核心,都可以支持,这意味着无论是NVIDIA、AMD的新老显卡,乃至是Intel的核芯显卡,都能享受光追。