Create BLAS/TLAS.
Create Pipeline/SBT.
Submit new raytracing instance.
Create BLAS/TLAS.
Create Pipeline/SBT.
Submit new raytracing instance.
64 {
66
67 auto view = GetEntityWithComponent<MeshComponent>(
FrameInfo::Get().m_World.get());
68
70
72
73 std::shared_ptr<VulkanRayTracing> rayTracingInstance = std::make_shared<VulkanRayTracing>(
m_VulkanState);
74
80
86
91
95
96 });
97 });
98 }
#define SPICES_PROFILE_ZONEN(...)
static FrameInfo & Get()
Get FrameInfo.
static std::shared_ptr< VulkanRayTracing > m_VulkanRayTracing
In Used VulkanRayTracing.
void CreateTopLevelAS(FrameInfo &frameInfo, std::shared_ptr< std::vector< uint32_t > > view, std::shared_ptr< VulkanRayTracing > rayTracingInstance, bool update=false)
Create TopLevelAS.
void CreateRTShaderBindingTable(std::shared_ptr< VulkanRayTracing > rayTracingInstance)
Create Shader Binding Table.
void CreateBottomLevelAS(FrameInfo &frameInfo, std::shared_ptr< std::vector< uint32_t > > view, std::shared_ptr< VulkanRayTracing > rayTracingInstance)
Create BottomLevelAS with all MeshComponents.
virtual void OnMeshAddedWorld()
void CreateDefaultMaterial()
Create Specific Renderer Default Material.
std::shared_ptr< RendererCache > m_RenderCache
RendererCache.
VulkanState & m_VulkanState
This variable is passed while renderer instanced.
void AsyncMainTask(ThreadPoolEnum pool, Func &&func, Args &&...args)
static auto AsyncTask(ThreadPoolEnum pool, F &&func, Args &&... args) -> std::future< decltype(func(std::forward< Args >(args)...))>