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

◆ add_chain_operator_rendering()

void MayaFlux::Buffers::NetworkGeometryBuffer::add_chain_operator_rendering ( const RenderConfig config)

Add a RenderProcessor for a specific operator chain index.

Parameters
configRendering configuration

This allows rendering different subsets of the network geometry with different pipelines. Each chain index corresponds to a specific node/operator in the network.

Definition at line 194 of file NetworkGeometryBuffer.cpp.

195{
196 const auto resolved_config = resolve_config(config);
197 auto self = std::dynamic_pointer_cast<VKBuffer>(shared_from_this());
198
199 std::shared_ptr<RenderProcessor> render;
200 apply_render_config(render, resolved_config, ShaderConfig { resolved_config.vertex_shader });
201
202 get_processing_chain()->add_processor(render, shared_from_this());
203 render->set_buffer_vertex_layout(self, Kakshya::VertexLayout::for_lines());
204 render->set_vertex_range(0, 0);
205
206 m_chain_render_processors.push_back({ .render_processor = render });
207
209 "Added chain render processor #{} to NetworkGeometryBuffer",
211}
#define MF_DEBUG(comp, ctx,...)
std::vector< ChainRenderEntry > m_chain_render_processors
std::shared_ptr< Buffers::BufferProcessingChain > get_processing_chain() override
Access the buffer's processing chain.
Definition VKBuffer.cpp:286
void apply_render_config(const RenderConfig &config, const ShaderConfig &shader_config)
Configure the internal m_render_processor from a RenderConfig.
Definition VKBuffer.cpp:359
@ Init
Engine/subsystem initialization.
@ Buffers
Buffers, Managers, processors and processing chains.
static VertexLayout for_lines(uint32_t stride=60)
Factory: layout for LineVertex (position, color, thickness, uv, normal, tangent)

References MayaFlux::Buffers::VKBuffer::apply_render_config(), MayaFlux::Journal::Buffers, MayaFlux::Kakshya::VertexLayout::for_lines(), MayaFlux::Buffers::VKBuffer::get_processing_chain(), MayaFlux::Journal::Init, m_chain_render_processors, and MF_DEBUG.

+ Here is the call graph for this function: