Vulkan-Sample-ComputeShader
2016-12-06 10:31:06 0 举报
Vulkan-Sample-ComputeShader是一个基于Vulkan图形API的示例项目,主要展示了如何使用计算着色器进行通用图形处理。在这个项目中,用户可以通过编写简单的GLSL代码来实现各种图像处理算法,如模糊、锐化、边缘检测等。项目提供了完整的C++代码框架,包括Vulkan初始化、设备选择、交换链创建、渲染管线构建等关键步骤。同时,还提供了一个简单的UI界面,方便用户查看和调整图像处理效果。通过学习这个项目,用户可以更好地理解Vulkan图形API的工作原理,掌握计算着色器的使用方法,并提高自己的图形编程技能。
作者其他创作
大纲/内容
准备好 graphics.descriptorSetLayout,descriptorSetLayout 由 2个VkDescriptorSetLayoutBinding 组成,分别是 Vertex shader uniform buffer 和 Fragment shader image sampler
创建一个 descriptorPool,descriptorPoolSize 有 2个VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,2个VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,1个VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE,2个VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,并且该 Pool 最多支持3个 DescriptorSet
用 graphics.descriptorSetLayout创建一个 graphics.pipelineLayout
用 compute.descriptorSetLayout创建一个 compute.pipelineLayout
create a Fence for compute CB sync
compute.commandBuffer
用 compute.pipelineLayout 创建3个 pipeline,compute 有3个 shader, 分别是 \"sharpen\
为 compute 创建一个 commandPool ,然后在该 pool 创建一个 compute.commandBuffer
drawCmdBuffers
创建 compute.descriptorSetLayout, 由2个binding 组成,分别是 Binding 0 : Sampled image (read) 和 Binding 1 : Sampled image (write)
0 条评论
下一页