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

◆ processing_function()

void MayaFlux::Buffers::MeshNetworkProcessor::processing_function ( const std::shared_ptr< Buffer > &  buffer)
overrideprotectedvirtual

The core processing function that must be implemented by derived classes.

Parameters
bufferBuffer to process

This method is where the actual transformation logic is implemented. It should contain the algorithmic details of how the buffer's data is transformed, analyzed, or processed. The implementation can utilize any backend capabilities available to the processor, including:

  • Parallel Processing: Using multi-threading or GPU compute for large datasets
  • Data Transformations: Applying mathematical operations, filters, or effects
  • Feature Extraction: Analyzing data characteristics for further processing

Derived classes must override this method to provide specific processing behavior.

Implements MayaFlux::Buffers::BufferProcessor.

Definition at line 68 of file MeshNetworkProcessor.cpp.

69{
70 if (!m_network || !any_slot_dirty())
71 return;
72
73 auto vk_buf = std::dynamic_pointer_cast<VKBuffer>(buffer);
74 if (!vk_buf)
75 return;
76
77 upload_combined(vk_buf);
80
83
85 push_ssbo_bindings(vk_buf);
86
88 "MeshNetworkProcessor: re-uploaded {} bytes vertex, {} indices",
90}
#define MF_RT_TRACE(comp, ctx,...)
std::shared_ptr< VKBuffer > m_slot_index_ssbo
Per-vertex slot index. One uint32_t per concatenated vertex.
std::vector< uint8_t > m_vertex_aggregate
Aggregate scratch buffers reused each cycle to avoid allocation.
void link_index_resources(const std::shared_ptr< VKBuffer > &vertex_buf)
void upload_combined(const std::shared_ptr< VKBuffer > &vertex_buf)
void push_ssbo_bindings(const std::shared_ptr< VKBuffer > &buffer)
std::shared_ptr< Nodes::Network::MeshNetwork > m_network
std::shared_ptr< VKBuffer > m_model_ssbo
Per-slot world matrices in sorted_indices order. One mat4 per slot.
@ BufferProcessing
Buffer processing (Buffers::BufferManager, processing chains)
@ Buffers
Buffers, Managers, processors and processing chains.

References allocate_ssbo_buffers(), any_slot_dirty(), MayaFlux::Journal::BufferProcessing, MayaFlux::Journal::Buffers, clear_slot_dirty_flags(), link_index_resources(), m_index_aggregate, m_model_ssbo, m_network, m_slot_index_ssbo, m_vertex_aggregate, MF_RT_TRACE, push_ssbo_bindings(), upload_combined(), and upload_ssbos().

+ Here is the call graph for this function: