SpiecsEngine
 
Loading...
Searching...
No Matches
Spices::Renderer::DescriptorSetBuilder Class Reference

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.
 
DescriptorSetBuilderAddPushConstant (uint32_t size)
 Set VkPushConstantRange by a specific push constant struct.
 
DescriptorSetBuilderAddUniformBuffer (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.
 
DescriptorSetBuilderAddStorageBuffer (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.
 
DescriptorSetBuilderAddStorageBuffer (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 >
DescriptorSetBuilderAddBindLessTexture (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 >
DescriptorSetBuilderAddTexture (uint32_t set, uint32_t binding, VkShaderStageFlags stageFlags, const std::vector< std::string > &textureNames)
 Add the texture set binding to descriptor set layout.
 
DescriptorSetBuilderAddStorageTexture (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.
 
DescriptorSetBuilderAddStorageTextureMipmaps (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.
 
DescriptorSetBuilderAddAttachmentTexture (uint32_t set, uint32_t binding, VkShaderStageFlags stageFlags, const std::vector< std::string > &textureNames)
 Add the attachment as texture to descriptor set layout.
 
DescriptorSetBuilderAddInput (uint32_t set, uint32_t binding, VkShaderStageFlags stageFlags, const std::vector< std::string > &inputAttachmentNames)
 Add the texture set binding to descriptor set layout.
 
DescriptorSetBuilderAddAccelerationStructure (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::DescriptorSetBuilderAddBindLessTexture (uint32_t set, uint32_t binding, VkShaderStageFlags stageFlags, const std::vector< std::string > &textureNames)
 
template<typename T >
Renderer::DescriptorSetBuilderAddTexture (uint32_t set, uint32_t binding, VkShaderStageFlags stageFlags, const std::vector< std::string > &textureNames)
 

Public Attributes

Rendererm_Renderer
 Specific Renderer pointer. Passed while this class instanced.
 
std::shared_ptr< RendererSubPassm_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].
 

Detailed Description

This Class is a helper for Building Specific Renderer DescriptorSet. Only instanced during CreateDescriptorSets().

Definition at line 519 of file Renderer.h.


The documentation for this class was generated from the following files: