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

◆ compute_frame()

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

Compute frame - generates vertex data from points and connections.

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

Definition at line 269 of file TopologyGeneratorNode.cpp.

270{
271 if (!m_vertex_data_dirty) {
272 return;
273 }
274
276
277#ifdef MAYAFLUX_PLATFORM_MACOS
278 std::vector<LineVertex> expanded = expand_lines_to_triangles(m_vertices);
279 set_vertices<LineVertex>(std::span { expanded.data(), expanded.size() });
280
281 auto layout = get_vertex_layout();
282 layout->vertex_count = static_cast<uint32_t>(expanded.size());
283 set_vertex_layout(*layout);
284#else
285 set_vertices<LineVertex>(std::span { m_vertices.data(), m_vertices.size() });
286
287 auto layout = get_vertex_layout();
288 layout->vertex_count = static_cast<uint32_t>(m_vertices.size());
289 set_vertex_layout(*layout);
290#endif
291}
bool m_vertex_data_dirty
Flag: vertex data or layout changed since last GPU upload.
std::optional< Kakshya::VertexLayout > get_vertex_layout() const
Get cached vertex layout.
void set_vertex_layout(const Kakshya::VertexLayout &layout)
Set cached vertex layout.

References build_vertex_buffer(), MayaFlux::Nodes::GpuSync::GeometryWriterNode::get_vertex_layout(), MayaFlux::Nodes::GpuSync::GeometryWriterNode::m_vertex_data_dirty, m_vertices, and MayaFlux::Nodes::GpuSync::GeometryWriterNode::set_vertex_layout().

+ Here is the call graph for this function: