Vulkan 关于 Buffer / Image / Memory 的理解

1.  注意:标红的指令均可缓存至 “VkCommandBuffer” 中

2.  关于VkBuffer,你只需要了解这么多:

  • 它是一个<设备内存管理器>类型
  • VkBuffer是VkDeviceMemory中 [连续内存] 的映射。

3.  创建VkBuffer

  • 构建VkBuffer创建信息:VkBufferCreateInfo
  • Component Define:
    
    sType / 由用户输入,用于通知 Vulkan 此结构的类型,方便对齐
    pNext / 咳咳,既然大家都知道这是干啥的了,就不墨迹了
    //算了,这是额外的初始化内容,某些Layers&Extensions需要此结构来辅助初始化
    flags / VkBufferCreateFlags
        Define:   
        VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
        VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
        VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
    //前三个都是用于稀疏资源的Bit
    VK_BUFFER_CREATE_PROTECTED_BIT
    = 0x00000008, VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010, VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000020,
    VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT
    = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
    VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR
    = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
    VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM
    = 0x7FFFFFFF


     

     

未完成20230913

posted @ 2023-09-08 19:21  SupersLWF  阅读(225)  评论(0)    收藏  举报