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

◆ compute_frame()

void MayaFlux::Nodes::GpuSync::PointCollectionNode::compute_frame ( )
overridevirtual

Compute frame - uploads positions to vertex buffer.

Implements MayaFlux::Nodes::GpuSync::GpuSync.

Definition at line 111 of file PointCollectionNode.cpp.

112{
113 if (m_points.empty()) {
114 resize_vertex_buffer(0, false);
115 return;
116 }
117
118 if (get_vertex_count() != m_points.size()) {
119 resize_vertex_buffer(static_cast<uint32_t>(m_points.size()), false);
120 }
121
122 set_vertices<PointVertex>(std::span { m_points.data(), m_points.size() });
123
124 if (auto layout = get_vertex_layout()) {
125 layout->vertex_count = static_cast<uint32_t>(m_points.size());
126 set_vertex_layout(*layout);
127 }
128
130 "PointSourceNode: Uploaded {} points to vertex buffer", m_points.size());
131}
#define MF_TRACE(comp, ctx,...)
uint32_t get_vertex_count() const
Get number of vertices.
std::optional< Kakshya::VertexLayout > get_vertex_layout() const
Get cached vertex layout.
void set_vertex_layout(const Kakshya::VertexLayout &layout)
Set cached vertex layout.
void resize_vertex_buffer(uint32_t vertex_count, bool preserve_data=false)
Resize vertex buffer to hold specified number of vertices.
@ NodeProcessing
Node graph processing (Nodes::NodeGraphManager)
@ Nodes
DSP Generator and Filter Nodes, graph pipeline, node management.

References MayaFlux::Nodes::GpuSync::GeometryWriterNode::get_vertex_count(), MayaFlux::Nodes::GpuSync::GeometryWriterNode::get_vertex_layout(), m_points, MF_TRACE, MayaFlux::Journal::NodeProcessing, MayaFlux::Journal::Nodes, MayaFlux::Nodes::GpuSync::GeometryWriterNode::resize_vertex_buffer(), and MayaFlux::Nodes::GpuSync::GeometryWriterNode::set_vertex_layout().

+ Here is the call graph for this function: