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

◆ dirty_vertex_ranges()

virtual std::vector< DirtyVertexRange > MayaFlux::Nodes::Network::GraphicsOperator::dirty_vertex_ranges ( ) const
inlinevirtual

Vertex sub-ranges that changed since the last mark_vertex_data_clean().

Returns
One entry per contiguous dirty region, in global vertex-index order, or empty when nothing changed.

The default reports a single range spanning every vertex whenever is_vertex_data_dirty() is true, so a consumer that uploads per-range stays identical to one that re-uploads the whole buffer. An operator holding several independent vertex-array packs (PathOperator's paths, TopologyOperator's graphs) overrides this to report only the packs whose own geometry changed this cycle, so an edit to one pack leaves the uploaded bytes of the others, and any GPU-side accumulation already written into them, untouched.

Reimplemented in MayaFlux::Nodes::Network::PathOperator, and MayaFlux::Nodes::Network::TopologyOperator.

Definition at line 82 of file GraphicsOperator.hpp.

83 {
84 if (!is_vertex_data_dirty()) {
85 return {};
86 }
87 return { DirtyVertexRange { .vertex_count = static_cast<uint32_t>(get_vertex_count()) } };
88 }
virtual size_t get_vertex_count() const =0
Get number of vertices (may differ from point count for topology/path)
virtual bool is_vertex_data_dirty() const =0
Check if geometry changed this frame.

References MayaFlux::Nodes::Network::GraphicsOperator::DirtyVertexRange::vertex_count.

Referenced by MayaFlux::Buffers::NetworkGeometryProcessor::try_incremental_upload().

+ Here is the caller graph for this function: