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

◆ get_vertex()

std::span< const uint8_t > MayaFlux::Nodes::GpuSync::GeometryWriterNode::get_vertex ( uint32_t  vertex_index) const

Get a single vertex by index.

Parameters
vertex_indexIndex of vertex
Returns
Span covering this vertex's data

Definition at line 135 of file GeometryWriterNode.cpp.

136{
137 if (m_vertex_stride == 0 || m_vertex_count == 0) {
138 return {};
139 }
140
141 if (vertex_index >= m_vertex_count) {
143 "Vertex index {} out of range (count: {})",
144 vertex_index, m_vertex_count);
145 return {};
146 }
147
148 size_t offset_floats = (static_cast<size_t>(vertex_index) * m_vertex_stride) / sizeof(float);
149 size_t stride_floats = m_vertex_stride / sizeof(float);
150
151 if (offset_floats + stride_floats > m_vertex_buffer.size()) {
152 return {};
153 }
154
155 return { m_vertex_buffer.data() + offset_floats, stride_floats };
156}
#define MF_WARN(comp, ctx,...)
std::vector< uint8_t > m_vertex_buffer
Vertex data buffer (flat array of bytes)
size_t m_vertex_stride
Bytes per vertex (stride for vertex buffer binding)
uint32_t m_vertex_count
Number of vertices in buffer.
@ NodeProcessing
Node graph processing (Nodes::NodeGraphManager)
@ Nodes
DSP Generator and Filter Nodes, graph pipeline, node management.

References m_vertex_buffer, m_vertex_count, m_vertex_stride, MF_WARN, MayaFlux::Journal::NodeProcessing, and MayaFlux::Journal::Nodes.