Vulkan Samples 阅读 -- Debug Markers

Debug Markers

Introduction

  • 使用官方Samples中的教程
  • git: https://github.com/KhronosGroup/Vulkan-Samples.git
  • build 编译好后, 在VS->vulkan_samples->属性->调试->命令参数输入sample的名称运行即可
  • sample 的名称在samples.h中维护.
  • 找到 debug_utils

prepare

  • ApiVulkanSample::prepare(platform)
    • 初始化vulkan资源
  • camera
    • 相机参数初始化
  • debug_check_extension
    • 检测debug扩展
      • instance->get_extensions(): 获取扩展信息
        • for (auto &enabled_extension : enabled_instance_extensions)
          • 遍历扩展信息
          • strcmp(enabled_extension, VK_EXT_DEBUG_UTILS_EXTENSION_NAME) == 0
          • 是否有debug扩展
          • yes debug_utils_supported = true;
  • load_assets: 加载球模型和纹理贴图
  • prepare_uniform_buffers
    • update_uniform_buffers
  • prepare_offscreen_buffer
    • prepare G-Buffer
    • create_attachment: color
    • create_attachment: color
    • create_attachment: depth
    • vkCreateRenderPass
    • vkCreateFramebuffer
    • vkCreateSampler
  • setup_descriptor_set_layout
    • vkCreateDescriptorSetLayout
    • vkCreatePipelineLayout
  • prepare_pipelines
    • Full screen pipelines
      • vkCreateGraphicsPipelines
    • Bloom pass
      • vkCreateGraphicsPipelines
    • Second blur pass
      • vkCreateGraphicsPipelines
    • kysphere pipeline
      • vkCreateGraphicsPipelines
    • Flip cull mode
      • vkCreateGraphicsPipelines
  • setup_descriptor_pool
    • vkCreateDescriptorPool
  • setup_descriptor_sets
    • Sphere model object descriptor set
      • vkAllocateDescriptorSets
      • write_descriptor_set
      • vkUpdateDescriptorSets
    • Sky sphere descriptor set
      • vkAllocateDescriptorSets
      • write_descriptor_set
      • vkUpdateDescriptorSets
    • Bloom filter
      • vkAllocateDescriptorSets
      • write_descriptor_set
      • vkUpdateDescriptorSets
    • Composition descriptor set
      • vkAllocateDescriptorSets
      • write_descriptor_set
      • vkUpdateDescriptorSets
  • build_command_buffers: 本节重点, debug设置在这里
    • loop
      • vkBeginCommandBuffer
      • First pass: Render scene to offscreen framebuffer
        • cmd_begin_label: 重点
          • VkDebugUtilsLabelEXT
          • vkCmdBeginDebugUtilsLabelEXT
        • vkCmdBeginRenderPass
        • vkCmdSetViewport
        • vkCmdSetScissor
        • display_skysphere
          • cmd_insert_label: 重点
            • VkDebugUtilsLabelEXT
            • vkCmdInsertDebugUtilsLabelEXT
          • vkCmdBindPipeline
          • vkCmdPushConstants
          • vkCmdBindDescriptorSets
          • draw_model
            • vkCmdBindVertexBuffers
            • vkCmdBindIndexBuffer
            • vkCmdDrawIndexed
        • Spheres
          • vkCmdBindPipeline
          • vkCmdBindDescriptorSets
          • vkCmdPushConstants
          • cmd_insert_label: 重点
          • draw_model
          • vkCmdEndRenderPass
        • cmd_end_label: 重点
          • vkCmdEndDebugUtilsLabelEXT
    • debug_name_objects: 重点
      • set_object_name
        • VkDebugUtilsObjectNameInfoEXT
        • vkSetDebugUtilsObjectNameEXT

render

  • draw
    • queue_begin_label: 重点
      • VkDebugUtilsLabelEXT
      • vkQueueBeginDebugUtilsLabelEXT
    • ApiVulkanSample::prepare_frame
    • vkQueueSubmit
    • ApiVulkanSample::submit_frame
    • queue_end_label:重点
      • vkQueueEndDebugUtilsLabelEXT
  • update_uniform_buffers

shader

  • shader存放在Vulkan-Samples\shaders\debug_utils
  • 延迟渲染的基础管线, 可以忽略

小结

  本节主要讲 debug 扩展使用方法。 需要反复研究一下, 调试程序的基本方法, 必须掌握.

Vulkan Gears & Vulkan demo scene

   虽然使用的是最基本的渲染流程, 但还是有必要阅读一下#109

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
realesrgan-ncnn-vulkan-20211212-windows是一个基于ncnn框架和Vulkan图形API开发的图像超分辨率增强模型。它是由GitHub用户realsrgan开发的最新版本,最新发布日期为2021年12月12日,专为Windows操作系统而设计。 该模型的主要应用是图像超分辨率增强,通过提高图像的分辨率和细节,使图像看起来更加清晰和真实。它采用深度学习和卷积神经网络等先进的技术,能够将低分辨率的图像转换成高分辨率的图像,从而提升图像的质量和视觉效果。 realesrgan-ncnn-vulkan-20211212-windows的开发使用了ncnn框架和Vulkan图形API,这使得它能够在Windows系统上实现快速且高效的图像处理。ncnn是一个轻量级的深度学习框架,专注于在移动平台和嵌入式设备上实现高性能和低延迟的推理。而Vulkan图形API是一种跨平台的图形渲染和计算API,可以充分利用计算设备的性能,提供高效的图像处理和渲染能力。 realesrgan-ncnn-vulkan-20211212-windows的使用可以通过命令行或者图形界面进行,用户可以根据自己的需求和偏好选择适合的方式。该模型提供了训练好的权重参数,用户可以直接加载这些参数并进行图像超分辨率增强。此外,该模型还支持批量处理和视频处理,方便用户对多个图像进行处理。 总之,realesrgan-ncnn-vulkan-20211212-windows是一个高效、快速且易于使用的图像超分辨率增强模型,适用于Windows系统,并利用了ncnn框架和Vulkan图形API的优势,为用户提供了出色的图像处理效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值