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

◆ processing_function()

void MayaFlux::Buffers::RaymarchProcessor::processing_function ( const std::shared_ptr< Buffer > &  buffer)
overridevirtual

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 131 of file RaymarchProcessor.cpp.

132{
133 auto vk_buffer = std::dynamic_pointer_cast<VKBuffer>(buffer);
134 if (!vk_buffer || !m_source) {
135 return;
136 }
137
138 const vk::Buffer handle = m_source();
139 if (!handle) {
140 return;
141 }
142
143 stage_descriptor(vk_buffer, handle);
144 stage_params(vk_buffer);
145}
std::shared_ptr< NetworkGeometryBuffer > buffer
void stage_params(const std::shared_ptr< VKBuffer > &buffer)
Insert or replace the push constant fragment.
void stage_descriptor(const std::shared_ptr< VKBuffer > &buffer, vk::Buffer handle)
Insert or replace the descriptor entry for the field handle.

References buffer, m_source, stage_descriptor(), and stage_params().

+ Here is the call graph for this function: