MayaFlux 0.3.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 89 of file PointCollectionNode.cpp.

90{
91 if (m_points.empty()) {
92 resize_vertex_buffer(0, false);
93 return;
94 }
95
96 if (get_vertex_count() != m_points.size()) {
97 resize_vertex_buffer(static_cast<uint32_t>(m_points.size()), false);
98 }
99
100 set_vertices<PointVertex>(std::span { m_points.data(), m_points.size() });
101
102 if (auto layout = get_vertex_layout()) {
103 layout->vertex_count = static_cast<uint32_t>(m_points.size());
104 set_vertex_layout(*layout);
105 }
106
108 "PointSourceNode: Uploaded {} points to vertex buffer", m_points.size());
109}
#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: