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

◆ dirty_vertex_ranges()

std::vector< GraphicsOperator::DirtyVertexRange > MayaFlux::Nodes::Network::AssemblyOperator::dirty_vertex_ranges ( ) const
overridevirtual

One DirtyVertexRange per item that needs a GPU update, in add_geometry() order, matching get_vertex_data().

Reimplemented from MayaFlux::Nodes::Network::GraphicsOperator.

Definition at line 124 of file AssemblyOperator.cpp.

125{
126 std::vector<DirtyVertexRange> ranges;
127
128 uint32_t offset = 0;
129 uint32_t index = 0;
130 for (const auto& item : m_items) {
131 const auto count = static_cast<uint32_t>(item->get_vertex_count());
132 if (item->needs_gpu_update()) {
133 ranges.push_back(DirtyVertexRange {
134 .group_index = index,
135 .vertex_offset = offset,
136 .vertex_count = count });
137 }
138 offset += count;
139 ++index;
140 }
141
142 return ranges;
143}
uint32_t index
Definition VKDevice.cpp:142
size_t count
float offset
std::vector< std::shared_ptr< GpuSync::GeometryWriterNode > > m_items

References count, MayaFlux::Nodes::Network::GraphicsOperator::DirtyVertexRange::group_index, index, m_items, and offset.