Registry material to Specific Renderer.
- Parameters
-
| [in] | materialName | Material Name. |
| [in] | subPassName | SubPass Name. |
Instance a temp empty map for VkDescriptorSetLayout. Before turn it to a continus container, sorted is required.
PreRenderer's DescriptorSetInfo.
SpecificRenderer's DescriptorSetInfo.
Material's DescriptorSetInfo.
- Note
- remove for material use bindless descriptorset.
Instance a temp empty vector for VkDescriptorSetLayout.
@breif Create PipelineLayout.
Create Pipeline.
Instance a temp empty map for VkDescriptorSetLayout. Before turn it to a continus container, sorted is required.
PreRenderer's DescriptorSetInfo.
SpecificRenderer's DescriptorSetInfo.
Material's DescriptorSetInfo.
- Note
- remove for material use bindless descriptorset.
Instance a temp empty vector for VkDescriptorSetLayout.
@breif Create PipelineLayout.
Create Pipeline.
Definition at line 96 of file Renderer.cpp.
97 {
99
104 std::map<uint32_t, VkDescriptorSetLayout> sortedRowSetLayouts;
105
110 {
112 for (auto& pair : preRendererSetInfo)
113 {
114 sortedRowSetLayouts[pair.first] = pair.second->GetRowSetLayout();
115 }
116 }
117
122 {
124 for (auto& pair : specificRendererSetInfo)
125 {
126 sortedRowSetLayouts[pair.first] = pair.second->GetRowSetLayout();
127 }
128 }
129
134 const auto material = ResourcePool<Material>::Load<Material>(materialName, materialName);
136 {
137
138 }
139
143 std::vector<VkDescriptorSetLayout> rowSetLayouts;
144
145 for (auto& pair : sortedRowSetLayouts)
146 {
147 rowSetLayouts.push_back(pair.second);
148 }
149
153 const auto subPass = *
m_Pass->GetSubPasses()->find_value(subPassName);
155
160 }
#define SPICES_PROFILE_ZONE
static DescriptorSetInfo & GetByName(const String2 &name)
Get a DescriptorSetInfo by owner's name.
std::shared_ptr< RendererPass > m_Pass
RendererPass.
VkPipelineLayout CreatePipelineLayout(const std::vector< VkDescriptorSetLayout > &rowSetLayouts, const std::shared_ptr< RendererSubPass > &subPass) const
Create Pipeline Layout with material's descriptorset and renderer's descriptor set.
DescriptorSetManager::DescriptorSetCombineFlags m_DescriptorSetCombine
Combination of DescriptorSet.
virtual void CreatePipeline(std::shared_ptr< Material > material, VkPipelineLayout &layout, std::shared_ptr< RendererSubPass > subPass)=0
Create Specific Material Pipeline.
References Spices::Renderer::m_DescriptorSetCombine, Spices::DescriptorSetManager::Material, Spices::DescriptorSetManager::PreRenderer, and Spices::DescriptorSetManager::ThisRenderer.