SpiecsEngine
 
Loading...
Searching...
No Matches

◆ UpdatePushConstant() [2/2]

template<typename T >
void Spices::Renderer::RenderBehaveBuilder::UpdatePushConstant ( void * data,
VkCommandBuffer cmdBuffer = VK_NULL_HANDLE ) const

Update local push constant buffer.

Template Parameters
TSpecific push constant struct Type.
Parameters
[in]datapush constant data pointer.
[in]cmdBufferInput a VkCommandBuffer if needs, otherwise use self variable.

@breif Update PushConstants

Definition at line 2581 of file Renderer.h.

2582 {
2584
2585 std::stringstream ss;
2586 ss << m_Renderer->m_RendererName << "." << m_HandledSubPass->GetName() << ".Default";
2587
2591 vkCmdPushConstants(
2592 cmdBuffer ? cmdBuffer : m_CommandBuffer,
2593 m_Renderer->m_Pipelines[ss.str()]->GetPipelineLayout(),
2594 VK_SHADER_STAGE_ALL,
2595 0,
2596 sizeof(T),
2597 data
2598 );
2599 }
#define SPICES_PROFILE_ZONE
std::shared_ptr< RendererSubPass > m_HandledSubPass
Handled Sub pass.
Definition Renderer.h:1544
Renderer * m_Renderer
Specific Renderer pointer. Passed while this class instanced.
Definition Renderer.h:1515
VkCommandBuffer m_CommandBuffer
Current CommandBuffer.
Definition Renderer.h:1539
std::string m_RendererName
Specific renderer name, Passed by instanced.
Definition Renderer.h:2017
scl::thread_unordered_map< std::string, std::shared_ptr< VulkanPipeline > > m_Pipelines
Renderer stored material pipelines.
Definition Renderer.h:2022