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

◆ get_additional_render_processors()

std::vector< std::shared_ptr< RenderProcessor > > MayaFlux::Buffers::VKBuffer::get_additional_render_processors ( )

Get additional live render processors attached through the chain.

The processor returned by get_render_processor() is excluded.

Definition at line 376 of file VKBuffer.cpp.

377{
378 std::vector<std::shared_ptr<RenderProcessor>> render_processors;
379 auto primary = get_render_processor();
380
381 auto add_processor = [&render_processors, &primary](const std::shared_ptr<BufferProcessor>& processor) {
382 auto render = std::dynamic_pointer_cast<RenderProcessor>(processor);
383 if (!render || render == primary
384 || std::ranges::find(render_processors, render) != render_processors.end()) {
385 return;
386 }
387 render_processors.push_back(std::move(render));
388 };
389
391
392 if (m_processing_chain) {
393 auto buffer = shared_from_this();
394 for (const auto& processor : m_processing_chain->get_processors(buffer))
395 add_processor(processor);
396
397 add_processor(m_processing_chain->get_preprocessor(buffer));
398 add_processor(m_processing_chain->get_postprocessor(buffer));
399 add_processor(m_processing_chain->get_final_processor(buffer));
400 }
401
402 return render_processors;
403}
std::shared_ptr< NetworkGeometryBuffer > buffer
std::shared_ptr< Buffers::BufferProcessingChain > m_processing_chain
Definition VKBuffer.hpp:677
virtual std::shared_ptr< RenderProcessor > get_render_processor() const
Get a RenderProcessor suitable for rendering this buffer.
Definition VKBuffer.hpp:605
std::shared_ptr< Buffers::BufferProcessor > m_default_processor
Definition VKBuffer.hpp:676
void add_processor(const std::shared_ptr< Buffers::BufferProcessor > &processor, const std::shared_ptr< Buffers::Buffer > &buffer, Buffers::ProcessingToken token)
Adds a processor to a specific buffer.
Definition Graph.cpp:153

References MayaFlux::add_processor(), buffer, get_render_processor(), m_default_processor, and m_processing_chain.

+ Here is the call graph for this function: