资料介绍
Vulkan 基本类型,Vulkan 开发需要设计的类型非常多,整理其基本类型如下,主要包含设备、队列、命令缓冲、队列家族、渲染通,管线等,具体内容如下所示:
Vulkan类型 | 功能说明 |
---|---|
实例(VkInstance) | 用于存储Vulkan程序相关状态的软件结构,可以在逻辑上区分不同的Vulkan应用程序或者同一应用程序内部不同的Vulkan上下文 |
物理设备(VkPhysicalDevice) | 对系统中 GPU 硬件的抽象,每个 GPU 对应一个物理设备。另外,每个实例下可以有多个物理设备 |
设备(VkDevice) | 基于物理设备创建的逻辑设备,本质上是存储信息的软件结构,其中主要保留了与对应物理设备相关的资源。每个物理设备可以对应多个逻辑设备 |
命令池(VkCommandPool) | 服务高效分配命令缓冲 |
命令缓冲(VkCommandBuffer) | 用于记录组成绘制或计算任务的各个命令,在命令池中分配。若执行的是不变的绘制命令,可以对记录了命令的命令缓冲进行重用 |
命令缓冲启动信息(VkCommandBufferBeginInfo) | 携带了命令缓冲启动时必要信息的对象 |
命令缓冲提交信息(VkSubmitInfo) | 携带了命令缓冲提交给队列执行时必要信息的对象,包括需要等待的信息量数量、等待的信号量列表、命令缓冲数量、命令缓冲列表、触发的信号量数量触发的信号量列表等 |
列表家族属性( VkQueueFamilyProperties) | 携带了特定队列家族属性信息的软件结构,包括家族中队列的数量、能力标志等。每一个队列家族中可能含有多个能力相近的队列,常用的队列家族主要有支持图形任务和计算任务的两大类 |
队列( VkQueue) | 功能为接收提交的任务,将任务按序由所属GPU硬件依次执行 |
格式(VkFormat) | 一个枚举类型,包含了Vulkan开发中用到的各种内存组织形式,如VK_FORMAT_R8G8B8A8_UNORM 就表示支持RGBA四个色彩通道,每个通道8个数据比特 |
2D尺寸(VkExtent2D) | 用于记录2D尺寸的结构体,有width和height两个属性 |
图像(VkImage) | 设备内存的一种使用模式,这种模式下对应的内存用于存储图像像素数据,其中存储的像素数据可能是来自于纹理图像也可能是来自于绘制任务的结果等 |
图像视图(VkImageView) | 配合图像对象使用,其中携带了对应图像的类型、格式、色彩通道交换设置等方面的信息 |
交换链( VkSwapchainKHR) | 将画面呈现到特定目标平台(如windows, Android, Linux等)窗体或者表面的机制,通过它可以提供多个用于呈现的图像。这些图像与目标平台相关,可以看作目标平台呈现用KHR表面的抽象接口。持续换帧呈现时交替使用其中的多个图形执行,避免用户看到绘制过程中的画面引起画面撕裂。一般情况下,交换链中至少有两个用于呈现的图像,有些设备中数量会更多 |
帧缓冲(VkFrameBuffer) | 为绘制服务,其中可以包含颜色附件(用于记录一帧画面中各个像素的颜色值)、深度附件(用于记录一帧画面中各个像素的深度值)、模板附件(用于记录一帧画面中各个像素的模板值)等 |
缓冲( VkBuffer) | 设备内存的一种使用模式,这种模式下对应的内存用于存储各种数据。比如:绘制用顶点信息数据、绘制用一致变量数据等 |
缓冲描述信息( VkDescriptorBufferInfo) | 携带了描述缓冲信息的结构体,包含对应缓冲、内存偏移量、范围等 |
渲染通道(VkRenderPass) | 其中包含了一次绘制任务需要的各方面信息,诸如颜色附件、深度附件情况,子通道列表、子通道相互依赖信息等,用于向驱动描述绘制工作的结构、过程。一般来说,每个渲染通道从开始到结束将产生一帧完成的画面 |
清除内容(VkClearValue) | 包含了每次绘制前清除帧缓冲所用数据的相关值,主要有清除用颜色值,深度值、模板值 |
渲染通道启动信息(VkRenderPassBeginInfo) | 携带了启动渲染通道时所需的信息,包括对应的渲染通道、渲染区域的位置及尺寸、绘制前的清除数据值等 |
渲染子通道描述(VkSubpassDescription) | 一个渲染通道由多个子通道组成,至少需要一个子通道。每个子通道用一个VkSubpassDescription实例描述,其中包含了此子通道的输入附件,颜色附件,深度附件等方面的信息 |
描述集布局(VkDescriptionSetLayout) | 服务于描述集,给出布局接口。通俗讲就是给出着色器中包含了哪些一致变量、分别是什么类型、绑定编号是什么、对应于哪个管线阶段(比如顶点着色器、片源着色器)等 |
描述集(VkDescriptorSet) | 用于绘制前更新着色器所需的一致变量等 |
写入描述集( VkWriteDescriptorSet) | 用于绘制前更新着色器所需的一致变量等 |
描述集池( VkDescriptorPool) | 用于高效地分配描述集 |
管线布局( VkPipelineLayout) | 描述管线整体布局,包括哪些推送常量、有哪些描述集等 |
管线( VkPipeline) | 包含了执行指定绘制工作对应管线的各方面信息、诸如管线布局、顶点数据输入情况、图元组装设置、光栅化设置、混合设置、视口于剪裁设置、深度及模板测试设置、多重采样设置等 |
着色器阶段创建信息(VkPipelineShaderStageCreateInfo) | 携带了单个着色器阶段信息的对象,包括着色器的SPIR-V模板、着色器主方法名称、着色器对应阶段(比如顶点着色器、片元着色器、几何着色器、曲面细分着色器)等 |
顶点输入绑定描述(VkVertexInputBindingDescription) | 用于描述管线的顶点数据输入情况,包括绑定点编号,数据数据频率(比如每顶点一套数据)、数据间隔等 |
顶点输入属性描述(VkVertexInputAttributeDescription) | 描述顶点输入的某项数据信息(比如顶点位置、顶点颜色),包括绑定点编号、位置编号、数据格式、偏移量等 |
管线缓冲(VkPipelineCache) | 为高效地创建管线提供支持 |
格式属性(VkFormatProperties) | 用于存储执行格式类型(比如 VK_FORMAT_D16_UNORM)的格式属性,包括线性瓦片特征标志、最优化瓦片特征标志、缓冲特种标志等 |
物理设备内存属性(VkPhysicalDeviceMemoryProperties) | 用于存储获取的基于指定GPU的设备内存属性,包括内存类型数量、内存类型列表、内存堆数量、内存堆列表等 |
设备内存(VkDeviceMemory) | 设备内存的逻辑抽象,前面提到的缓冲(VuBuffer)、图形(VkImage)都需要绑定设备内存才能正常工作 |
信号量(VkSemaphore) | 用于一个设备(GPU)内部相同或不同队列并发执行任务时的同步工作,一般与方法VkQueueSubmit配合使用,以确保通过VkQueueSubmit方法提交的任务在指定信号量未触发前阻塞直至信号量触发后才执行。要特别注意的是,若有多个提交的任务同时等待同一个信号量触发,则此信号量的触发仅仅会被一个等待的任务接收到,其他等待的任务还将继续等待。这里的“同步”指的是并发执行时解决冲突的一种策略,有兴趣的读者可以进一步查阅相关资料 |
栅栏(VkFence) | 用于主机和设备之间的同步,通俗地讲就是用于CPU和GPU并发执行任务时的同步 |
KHR表面(VkSurfaceKHR) | 此类对象服务于帧画面的呈现 |
KHR表面能力(VkSurfaceCapabilitiesKHR) | 携带了用于呈现画面的表面相关呈现能力的信息,比如画面尺寸范围、交换链中的图像数量、是否支持屏幕交换等 |
呈现信息(VkPresentInfoKHR) | 携带了执行呈现时所需的一些信息,包括需要等待的信号量数量、信号量列表、交换链的数量、交换链列表、此次呈现的图像在交换链中的索引等 |
来源:电子创新网
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- LabView工具包WebSocket-API主机下载 68次下载
- 运动误差基本类型原因与对策 0次下载
- 浅析巴伦的功能原理、性能参数、基本类型 14次下载
- 蓝桥杯之单片机设计与开发(11)——单片机C语言小结
- DCDC环路补偿小结
- ADC基本类型的工作原理与性能特点
- 演示版:NanEye_EvalSW_API_FiberOpticBox_csharp_pWin_v2-3-3-1.exe 0次下载
- 演示版:NanEye2D_EvalSW_API_NanoUSB2_cpackage_pWin_v1-1-3-1.exe 0次下载
- 微信小程序如何开发?微信小程序教程视频常用组件API开发项目实战 88次下载
- PF光伏小结 0次下载
- 分析仪表资料小结 10次下载
- dsp的fir小结 14次下载
- cadence15.2PCB封装设计小结 0次下载
- H22Ⅲ压缩机修复改造小结
- 漆包线耐溶剂性能试验小结
- 反馈放大器的基本类型和拓扑组态 511次阅读
- Kubernetes Gateway API攻略教程 678次阅读
- 滤波器的四种基本类型 2978次阅读
- 企业怎么选择API网关 552次阅读
- Katalon:API测试 840次阅读
- 关于API接口相关知识 API的权限与安全问题 1591次阅读
- 什么是API,不同场景中的API 2014次阅读
- Vulkan API的一般使用模式及使用需要的基本元素说明 4608次阅读
- 什么是API网关为什么需要API网关 1.2w次阅读
- mybatis使用经验小结 1973次阅读
- 如何搭建API程序_框架api接口规范 1.1w次阅读
- api接口类型有哪些_API设计的基本要求 3.5w次阅读
- 如何使用API_api接口有什么优点 2w次阅读
- Redis基本类型和底层实现 4432次阅读
- 开关电源如何分类? 开关电源有哪些基本类型 1.3w次阅读
下载排行
本周
- 1电子电路原理第七版PDF电子教材免费下载
- 0.00 MB | 1491次下载 | 免费
- 2单片机典型实例介绍
- 18.19 MB | 95次下载 | 1 积分
- 3S7-200PLC编程实例详细资料
- 1.17 MB | 27次下载 | 1 积分
- 4笔记本电脑主板的元件识别和讲解说明
- 4.28 MB | 18次下载 | 4 积分
- 5开关电源原理及各功能电路详解
- 0.38 MB | 11次下载 | 免费
- 6100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 7基于单片机和 SG3525的程控开关电源设计
- 0.23 MB | 4次下载 | 免费
- 8基于AT89C2051/4051单片机编程器的实验
- 0.11 MB | 4次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 2PADS 9.0 2009最新版 -下载
- 0.00 MB | 66304次下载 | 免费
- 3protel99下载protel99软件下载(中文版)
- 0.00 MB | 51209次下载 | 免费
- 4LabView 8.0 专业版下载 (3CD完整版)
- 0.00 MB | 51043次下载 | 免费
- 5555集成电路应用800例(新编版)
- 0.00 MB | 33562次下载 | 免费
- 6接口电路图大全
- 未知 | 30320次下载 | 免费
- 7Multisim 10下载Multisim 10 中文版
- 0.00 MB | 28588次下载 | 免费
- 8开关电源设计实例指南
- 未知 | 21539次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935053次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537793次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191183次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183277次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138039次下载 | 免费
评论
查看更多