This Class is a helper for Building Specific Renderer DescriptorSet. Only instanced during CreateDescriptorSets(). More...
#include <Renderer.h>
Public Member Functions | |
| DescriptorSetBuilder (const std::string &subPassName, Renderer *renderer) | |
| Constructor Function. | |
| virtual | ~DescriptorSetBuilder ()=default |
| Destructor Function. | |
| DescriptorSetBuilder & | AddPushConstant (uint32_t size) |
| Set VkPushConstantRange by a specific push constant struct. | |
| DescriptorSetBuilder & | AddUniformBuffer (uint32_t set, uint32_t binding, uint64_t size, VkShaderStageFlags stageFlags) |
| Create local buffer object in collection, and add it's set binding to descriptorsetlayout, and sets descriptorwriter using it's buffer info. | |
| DescriptorSetBuilder & | AddStorageBuffer (uint32_t set, uint32_t binding, uint64_t size, VkShaderStageFlags stageFlags) |
| Create local buffer object in collection, and add it's set binding to descriptorsetlayout, and sets descriptorwriter using it's buffer info. | |
| DescriptorSetBuilder & | AddStorageBuffer (uint32_t set, uint32_t binding, VkShaderStageFlags stageFlags, std::shared_ptr< VulkanBuffer > buffer) |
| Add buffer object in collection, and add it's set binding to descriptorsetlayout, and sets descriptorwriter using it's buffer info. | |
| template<typename T > | |
| DescriptorSetBuilder & | AddBindLessTexture (uint32_t set, uint32_t binding, VkShaderStageFlags stageFlags, const std::vector< std::string > &textureNames) |
| Init the BindLess texture set binding to descriptor set layout. | |
| template<typename T > | |
| DescriptorSetBuilder & | AddTexture (uint32_t set, uint32_t binding, VkShaderStageFlags stageFlags, const std::vector< std::string > &textureNames) |
| Add the texture set binding to descriptor set layout. | |
| DescriptorSetBuilder & | AddStorageTexture (uint32_t set, uint32_t binding, VkShaderStageFlags stageFlags, const std::vector< std::string > &textureNames, VkFormat format=VK_FORMAT_R8G8B8A8_UNORM, TextureType type=TextureType::Texture2D) |
| Add the storage texture set binding to descriptor set layout. | |
| DescriptorSetBuilder & | AddStorageTextureMipmaps (uint32_t set, uint32_t binding, VkShaderStageFlags stageFlags, const std::string &textureName, VkFormat format=VK_FORMAT_R8G8B8A8_UNORM, TextureType type=TextureType::Texture2D, std::function< void(RendererResourceCreateInfo &)> func=nullptr) |
| Add the storage texture set binding with mipmap to descriptor set layout. | |
| DescriptorSetBuilder & | AddAttachmentTexture (uint32_t set, uint32_t binding, VkShaderStageFlags stageFlags, const std::vector< std::string > &textureNames) |
| Add the attachment as texture to descriptor set layout. | |
| DescriptorSetBuilder & | AddInput (uint32_t set, uint32_t binding, VkShaderStageFlags stageFlags, const std::vector< std::string > &inputAttachmentNames) |
| Add the texture set binding to descriptor set layout. | |
| DescriptorSetBuilder & | AddAccelerationStructure (uint32_t set, uint32_t binding, VkShaderStageFlags stageFlags) |
| Add the Acceleration Structure set binding to descriptor set layout. | |
| void | Build (const VkAccelerationStructureKHR &accel=VK_NULL_HANDLE) |
| Create all buffer type descriptor set. Create pipeline layout. | |
| template<typename T > | |
| Renderer::DescriptorSetBuilder & | AddBindLessTexture (uint32_t set, uint32_t binding, VkShaderStageFlags stageFlags, const std::vector< std::string > &textureNames) |
| template<typename T > | |
| Renderer::DescriptorSetBuilder & | AddTexture (uint32_t set, uint32_t binding, VkShaderStageFlags stageFlags, const std::vector< std::string > &textureNames) |
Public Attributes | |
| Renderer * | m_Renderer |
| Specific Renderer pointer. Passed while this class instanced. | |
| std::shared_ptr< RendererSubPass > | m_HandledSubPass |
| Handled Sub pass. | |
| String2 | m_DescriptorSetId |
| The Descriptor Set Manager ID descriptorSet belongs to. | |
| std::unordered_map< uint32_t, std::unordered_map< uint32_t, VkDescriptorBufferInfo > > | m_BufferInfos |
| DescriptorSet Buffer type binging info. [set] - [binding] - [info]. | |
| std::unordered_map< uint32_t, std::unordered_map< uint32_t, std::vector< VkDescriptorImageInfo > > > | m_ImageInfos |
| DescriptorSet Image type binging info. [set] - [binding] - [info]. | |
This Class is a helper for Building Specific Renderer DescriptorSet. Only instanced during CreateDescriptorSets().
Definition at line 519 of file Renderer.h.