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

◆ save_state()

void MayaFlux::Nodes::GpuSync::GeometryWriterNode::save_state ( )
overridevirtual

Save current geometry state.

Saves vertex buffer, count, stride, and layout. Subclasses can override to save additional state.

Implements MayaFlux::Nodes::Node.

Definition at line 198 of file GeometryWriterNode.cpp.

199{
200 GeometryState state;
201 state.vertex_buffer = m_vertex_buffer;
202 state.vertex_count = m_vertex_count;
203 state.vertex_stride = m_vertex_stride;
204 state.vertex_layout = m_vertex_layout;
205 state.index_buffer = m_index_buffer;
206
207 m_saved_state = std::move(state);
208
210 "GeometryWriterNode: Saved state ({} vertices, {} bytes)",
211 m_vertex_count, m_vertex_buffer.size() * sizeof(uint8_t));
212}
#define MF_DEBUG(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)
std::optional< Kakshya::VertexLayout > m_vertex_layout
Cached vertex layout for descriptor binding.
std::vector< uint32_t > m_index_buffer
Optional index buffer for indexed drawing (not used by default)
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 MayaFlux::Nodes::GpuSync::GeometryWriterNode::GeometryState::index_buffer, m_index_buffer, m_saved_state, m_vertex_buffer, m_vertex_count, m_vertex_layout, m_vertex_stride, MF_DEBUG, MayaFlux::Journal::NodeProcessing, MayaFlux::Journal::Nodes, MayaFlux::Nodes::GpuSync::GeometryWriterNode::GeometryState::vertex_buffer, MayaFlux::Nodes::GpuSync::GeometryWriterNode::GeometryState::vertex_count, MayaFlux::Nodes::GpuSync::GeometryWriterNode::GeometryState::vertex_layout, and MayaFlux::Nodes::GpuSync::GeometryWriterNode::GeometryState::vertex_stride.