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

◆ update_collection_vertex_layout()

void MayaFlux::Buffers::CompositeGeometryBuffer::update_collection_vertex_layout ( const std::string &  name,
const Kakshya::VertexLayout layout 
)

Push a topology-specific vertex layout to the matching RenderProcessor.

Parameters
nameGeometry identifier
layoutVertexLayout belonging exclusively to this collection

Must be called after update_collection_render_range() so the RenderProcessor compiles its Vulkan pipeline with the correct vertex-input stride and attribute offsets for this topology.

Definition at line 207 of file CompositeGeometryBuffer.cpp.

210{
211 auto it = m_render_data.find(name);
212 if (it == m_render_data.end()) {
213 return;
214 }
215
216 it->second.render_processor->set_buffer_vertex_layout(
217 std::dynamic_pointer_cast<VKBuffer>(shared_from_this()),
218 layout);
219
221 "Updated vertex layout for '{}': stride={}, vertices={}",
222 name, layout.stride_bytes, layout.vertex_count);
223}
#define MF_RT_TRACE(comp, ctx,...)
std::unordered_map< std::string, RenderData > m_render_data
@ BufferProcessing
Buffer processing (Buffers::BufferManager, processing chains)
@ Buffers
Buffers, Managers, processors and processing chains.

References MayaFlux::Journal::BufferProcessing, MayaFlux::Journal::Buffers, m_render_data, MF_RT_TRACE, MayaFlux::Kakshya::VertexLayout::stride_bytes, and MayaFlux::Kakshya::VertexLayout::vertex_count.