MayaFlux 0.2.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 219 of file CompositeGeometryBuffer.cpp.

222{
223 auto it = m_render_data.find(name);
224 if (it == m_render_data.end()) {
225 return;
226 }
227
228 it->second.render_processor->set_buffer_vertex_layout(
229 std::dynamic_pointer_cast<VKBuffer>(shared_from_this()),
230 layout);
231
233 "Updated vertex layout for '{}': stride={}, vertices={}",
234 name, layout.stride_bytes, layout.vertex_count);
235}
#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.