MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ get_render_processor() [2/2]

std::shared_ptr< RenderProcessor > MayaFlux::Buffers::VKBuffer::get_render_processor ( RenderPipelineID  id)

Find the attached render processor responsible for a pipeline.

Definition at line 349 of file VKBuffer.cpp.

350{
351 auto default_render = std::dynamic_pointer_cast<RenderProcessor>(m_default_processor);
352 if (default_render && default_render->get_render_pipeline_id() == id)
353 return default_render;
354
356 return nullptr;
357
358 auto buffer = shared_from_this();
359 for (const auto& processor : m_processing_chain->get_processors(buffer)) {
360 auto render = std::dynamic_pointer_cast<RenderProcessor>(processor);
361 if (render && render->get_render_pipeline_id() == id)
362 return render;
363 }
364
365 for (const auto& processor : {
366 m_processing_chain->get_preprocessor(buffer),
367 m_processing_chain->get_postprocessor(buffer),
368 m_processing_chain->get_final_processor(buffer) }) {
369 auto render = std::dynamic_pointer_cast<RenderProcessor>(processor);
370 if (render && render->get_render_pipeline_id() == id)
371 return render;
372 }
373 return nullptr;
374}
std::shared_ptr< NetworkGeometryBuffer > buffer
std::shared_ptr< Buffers::BufferProcessingChain > m_processing_chain
Definition VKBuffer.hpp:677
std::shared_ptr< Buffers::BufferProcessor > m_default_processor
Definition VKBuffer.hpp:676

References buffer, m_default_processor, and m_processing_chain.