![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
vulkan
文章平均质量分 93
SwallowJoe
君子知命不惧,日日自新
展开
-
Vulkan入门(14)-VkImage图像的创建.md
文章目录参考资料简述一. 纹理贴图1.1 图像库1.1 读取图片1.2 缓存读取的图片1.3 纹理图像(Texture Image)1.3.1 VkImageCreateInfo1.3.2 vkCreateImage1.3.3 createImage1.4 布局转换1.4.1 VkImageMemoryBarrier1.4.1.1 VkImageSubresourceRange1.4.1.2 VkImageAspectFlags1.4.2 vkCmdPipelineBarrier1.5 拷贝缓存数据至Ima原创 2021-04-06 00:13:25 · 2922 阅读 · 0 评论 -
Vulkan入门(13)-描述符布局及缓存.md
文章目录参考资料简述一. 描述符集布局1.1 VkDescriptorSetLayoutBinding1.1.1 VkDescriptorType1.1.2 VkShaderStageFlags1.2 创建VkDescriptorSetLayout1.2.1 VkDescriptorSetLayoutCreateInfo1.2.2 vkCreateDescriptorSetLayout1.3 管道指定描述符集布局1.4 统一缓存1.5 更新统一缓存数据二. 描述符2.1 描述符池2.1.1 VkDescri原创 2021-04-05 18:02:12 · 1353 阅读 · 0 评论 -
Vulkan入门(12)-暂存缓冲和索引缓冲.md
文章目录参考资料简述一. 传输队列二. 暂存缓冲区2.1 VkBufferUsageFlagBits2.2 VkMemoryPropertyFlags2.3 缓冲区拷贝函数2.2.1 vkCmdCopyBuffer 拷贝缓冲区2.3 缓冲区拷贝三. 索引缓冲区3.1 创建索引缓冲区3.2 使用顶点缓冲四. 绘制命令概述4.1 非索引绘图命令4.1.1 vkCmdDraw4.1.2 vkCmdDrawIndirect4.1.3 vkCmdDrawIndirectCount、vkCmdDrawIndirectC原创 2021-04-04 12:58:19 · 1118 阅读 · 0 评论 -
Vulkan入门(11)-顶点输入描述及顶点缓冲的创建.md
文章目录参考资料简述一. 顶点数据1.1 绑定描述1.1.1 VkVertexInputBindingDescription1.1.2 绑定1.2 属性描述1.2.1 VkVertexInputAttributeDescription1.2.2 绑定1.3 管道输入顶点二. 顶点缓冲区2.1 创建缓冲区2.1.1 VkBufferCreateInfo2.1.2 vkCreateBuffer2.1.3 createVertexBuffer2.2 给顶点缓冲区分配内存2.2.1 vkGetBufferMemor原创 2021-04-04 12:36:03 · 803 阅读 · 0 评论 -
Vulkan入门(10)-重建交换链.md
文章目录参考资料简述一. 重建交换链1.1 cleanupSwapChain1.2 获取窗口最新大小1.3 次优或过时的交换链1.3.1 fence1.3.2 vkQueuePresentKHR1.4 主动处理窗口变化1.4.1 监听窗口变化1.5 窗口最小化参考资料简述在上一篇里,我们已经成功绘制了一个颜色渐变的三角形,并将其显示在窗口上了。但是窗口Surface可能会发生变化,从而使交换链不再与之兼容,比如是窗口大小的变化。所以我们必须捕获这些事件并重新创建交换链。一. 重建交换链创建一个新的原创 2021-03-31 12:26:08 · 719 阅读 · 1 评论 -
Vulkan入门(9)-渲染和显示.md
文章目录参考资料简述一. 同步1.1 信号量同步1.2 创建信号量 vkCreateSemaphore二. 从交换链获取图像三. 提交指令缓冲区四. Subpass依赖五. 显示5.1 VkPresentInfoKHR5.2 显示设置5.2.1 vkQueuePresentKHR六. Frames in flight6.1 fence机制七. 总结参考资料简述在这一章里,所有的事情都要集中起来。我们将编写drawFrame函数,该函数将在主循环中被调用,以将三角形置于屏幕上。创建函数并从mainLoo原创 2021-03-28 11:39:51 · 1595 阅读 · 0 评论 -
Vulkan入门(8)-帧缓冲区和指令缓冲区.md
文章目录参考资料简述一. VkFramebuffer 创建帧缓冲区二. Command buffers 指令缓冲区2.1 Command pools 指令池2.1.1 创建指令池2.1.2 VkCommandPoolCreateInfo2.1.3 VkCommandPoolCreateFlags2.1.4 vkDestroyCommandPool2.2 Command buffer allocation 指令缓冲区分配2.2.1 vkAllocateCommandBuffers2.2.2 VkCommand原创 2021-03-28 11:38:26 · 1213 阅读 · 0 评论 -
Vulkan入门(7)-渲染过程及创建图形管道.md
文章目录参考资料简述一. Attachment description 附件说明1.1 loadOp1.2 storeOp1.3 内存中像素的布局二. Subpasses and attachment references 子过程和附件引用三. Render pass 渲染过程四. 创建 pipeline参考资料简述Render passes, 即渲染过程。在完成创建管道之前,我们需要告诉Vulkan渲染时将使用的帧缓冲区附件。我们需要指定将有多少颜色和深度缓冲区,为每个缓冲区使用多少个样本,以及在原创 2021-03-28 11:36:45 · 1064 阅读 · 0 评论 -
Vulkan入门(6)-创建管道的几个固定操作.md
文章目录参考资料简述一. Vertex input二. Input assembly三. Viewports and scissors3.1 Viewports3.2 Scissors3.3 使用方式四. Rasterizer (光栅化)五. Multisampling 多重采样六. Color blending 颜色混合6.1 VkPipelineColorBlendAttachmentState 结构6.2 VkPipelineColorBlendStateCreateInfo 全局颜色混合设置七. D原创 2021-03-28 11:35:25 · 809 阅读 · 0 评论 -
Vulkan入门(五)-图像视图及Pipeline简述.md
文章目录参考资料简述一. Image views二. 图形管道 Pipeline 简介三. 着色器(Shader modules)3.1 顶点着色器 Vertex Shader3.2 片段着色器 Fragment Shader3.3 为每个顶点着色3.4 编译着色器3.4.1 Linux平台下编译方式3.4.2 Windows平台编译方式3.5 加载着色器3.6 创建着色器模块(shader mo...原创 2019-05-10 18:41:46 · 1687 阅读 · 0 评论 -
Vulkan入门(四)-Surface和交换链.md
文章目录参考资料简述一. Window Surface1.1 创建窗口Surface二. Swap Chain-交换链2.1 检查GPU是否支持交换链2.2 使能设备扩展2.3 获取关于swap chain更多支持细节2.4 为swap chain-交换链选择合适的设置2.4.1 Surface格式2.4.2 呈现模式(Presentation Mode)2.4.3 交换范围(Swap exten...原创 2019-05-06 23:32:56 · 1872 阅读 · 0 评论 -
Vulkan入门(一)-环境配置.md
文章目录参考资料一. 准备环境1.1 开发环境1.2 下载 SDK1.3 安装SDK1.4 安装驱动二. 运行示例程序参考资料https://vulkan.lunarg.com/doc/sdk/1.1.106.0/linux/getting_started.html一. 准备环境1.1 开发环境sudo apt-get updatesudo apt-get dist-upgrade...原创 2019-04-29 17:01:16 · 8369 阅读 · 2 评论 -
Vulkan入门(三)-创建物理设备和逻辑设备.md
文章目录参考资料简述一. Physical devices and queue families(物理设备和队列系列)1.1 选择物理显卡GPU1.2 基础设备适配性检查1.3 Queue families二. Logical device and queues2.1 指定要创建的队列2.2 指定使用的设备功能(feature)2.3 创建逻辑设备2.4 检索队列句柄附录vulkan featur...原创 2019-05-04 11:08:04 · 2379 阅读 · 0 评论 -
Vulkan入门(二)-创建Vulkan实例及验证层.md
文章目录参考资料简述一. 创建 vulkan 实例1.1 创建 Window 实例1.2 创建 Vulkan 实例二. 验证层(Validation layers)2.1 什么是 Validation layers?2.2 Validation layers示例2.3 启用验证层2.4 消息回调2.4.1 调试回调函数 debugCallback2.4.2 注册调试回调三. 代码3.1 Makef...原创 2019-05-01 18:33:06 · 1437 阅读 · 1 评论