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

◆ update_chain_render_range()

void MayaFlux::Buffers::NetworkGeometryBuffer::update_chain_render_range ( size_t  index,
uint32_t  vertex_offset,
uint32_t  vertex_count,
const std::optional< Kakshya::VertexLayout > &  layout 
)

Update vertex range for a specific operator chain index.

Parameters
indexOperator chain index
vertex_offsetStarting vertex offset for this chain
vertex_countNumber of vertices for this chain
layoutOptional vertex layout for this chain (if different from primary)

This allows the processor to push per-chain vertex ranges to the RenderProcessor, enabling it to issue draw calls for specific subsets of the geometry.

Definition at line 220 of file NetworkGeometryBuffer.cpp.

225{
226 if (index == 0) {
228 m_render_processor->set_vertex_range(vertex_offset, vertex_count);
229 return;
230 }
231
232 const size_t ci = index - 1;
233 if (ci >= m_chain_render_processors.size())
234 return;
235
236 auto& entry = m_chain_render_processors[ci];
237 entry.vertex_offset = vertex_offset;
238 entry.vertex_count = vertex_count;
239 entry.render_processor->set_vertex_range(vertex_offset, vertex_count);
240
241 if (layout) {
242 auto self = std::dynamic_pointer_cast<VKBuffer>(shared_from_this());
243 entry.render_processor->set_buffer_vertex_layout(self, *layout);
244 }
245}
std::vector< ChainRenderEntry > m_chain_render_processors
std::shared_ptr< RenderProcessor > m_render_processor
Definition VKBuffer.hpp:618

References m_chain_render_processors, and MayaFlux::Buffers::VKBuffer::m_render_processor.