Vulkan填坑学习Day10—着色器模块
demi 在 周二, 06/01/2021 - 16:13 提交
Vulkan 着色器模块,与之前的图像API不同,Vulkan中的着色器代码必须以二进制字节码的格式使用,而不是像GLSL和HLSL这样具有比较好的可读性的语法。
Vulkan 着色器模块,与之前的图像API不同,Vulkan中的着色器代码必须以二进制字节码的格式使用,而不是像GLSL和HLSL这样具有比较好的可读性的语法。
Vulkan 图形管线,通过接下来的章节,我们将会开启有关图形管线的话题,通过对图形渲染管线的配置完成最后的三角形绘画。所谓图形管线就是将mesh使用到的vertices定点数据和贴图数据,转化为渲染targets像素的操作序列。
Vulkan 图像与视图,使用任何的VkImage,包括在交换链或者渲染管线中的,我们都需要创建VkImageView对象。
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。
本部分主要介绍:将计算着色器与单独的计算队列一起使用,以将不同的卷积内核(和效果)实时应用于输入图像。