MayaFlux 1.0.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 382 of file TopologyGeneratorNode.cpp.

383{
384 if (m_geometry_dirty) {
386 m_geometry_dirty = false;
387 m_attributes_dirty = false;
388 } else if (m_attributes_dirty) {
390 m_attributes_dirty = false;
391 } else {
392 return;
393 }
394
395 if (m_vertices.empty()) {
397 } else {
398 set_vertices<LineVertex>(std::span { m_vertices.data(), m_vertices.size() });
399 }
400
401 if (auto layout = get_vertex_layout()) {
402 layout->vertex_count = static_cast<uint32_t>(m_vertices.size());
403 set_vertex_layout(*layout);
404 }
405}
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.
void refresh_attributes()
Rewrite colour and thickness over existing positions.

References build_vertex_buffer(), MayaFlux::Nodes::GpuSync::GeometryWriterNode::get_vertex_layout(), m_attributes_dirty, m_geometry_dirty, m_vertices, refresh_attributes(), MayaFlux::Nodes::GpuSync::GeometryWriterNode::resize_vertex_buffer(), and MayaFlux::Nodes::GpuSync::GeometryWriterNode::set_vertex_layout().

+ Here is the call graph for this function: