SpiecsEngine
 
Loading...
Searching...
No Matches

◆ BuildRayTracing()

void Spices::Renderer::PipelineBuilder::BuildRayTracing ( const std::unordered_map< std::string, uint32_t > & hitGroups)

Build Raytracing Pipeline.

Parameters
[in]hitGroupsscene hit shader groups.

Definition at line 2674 of file Renderer.cpp.

2675 {
2677
2678 std::unordered_map<std::string, std::vector<std::string>> stages(m_Material->GetShaderPath());
2679 for (auto& pair : hitGroups)
2680 {
2681 stages["rchit"].push_back(pair.first);
2682 }
2683
2684 const auto pipeline = std::make_shared<VulkanRayTracingPipeline>(
2686 m_Material->GetName() ,
2687 stages ,
2689 );
2690
2691 if (m_Renderer->m_Pipelines.HasKey(m_Material->GetName()))
2692 {
2693 m_Renderer->m_RenderCache->PushToCaches(m_Renderer->m_Pipelines.Find(m_Material->GetName()));
2694 }
2695
2696 m_Renderer->m_Pipelines.Insert(m_Material->GetName(), pipeline);
2697 }
#define SPICES_PROFILE_ZONE
std::shared_ptr< Material > m_Material
Referenced Material.
Definition Renderer.h:878
Renderer * m_Renderer
Specific Renderer pointer. Passed while this class instanced.
Definition Renderer.h:873
PipelineConfigInfo m_pipelineConfig
PipelineConfigInfo for create Pipeline.
Definition Renderer.h:888
scl::thread_unordered_map< std::string, std::shared_ptr< VulkanPipeline > > m_Pipelines
Renderer stored material pipelines.
Definition Renderer.h:2022
std::shared_ptr< RendererCache > m_RenderCache
RendererCache.
Definition Renderer.h:2047
VulkanState & m_VulkanState
This variable is passed while renderer instanced.
Definition Renderer.h:1992