Coalesces adjacent items sharing a concatenable topology into one run; strip/fan items are always reported separately.
Reimplemented from MayaFlux::Nodes::Network::GraphicsOperator.
Definition at line 180 of file AssemblyOperator.cpp.
181{
182 std::vector<DrawRun> runs;
184
185 for (
const auto& item :
m_items) {
186 const auto count =
static_cast<uint32_t
>(item->get_vertex_count());
187 const auto topo = item->get_primitive_topology();
188
190 runs.back().vertex_count +=
count;
191 } else {
193 }
194
196 }
197
198 return runs;
199}
std::vector< std::shared_ptr< GpuSync::GeometryWriterNode > > m_items
Portal::Graphics::DrawRun DrawRun
constexpr bool is_concatenable_topology(PrimitiveTopology topology) noexcept
Whether two adjacent spans of this topology can be concatenated without altering the primitives they ...
PrimitiveTopology topology
References count, m_items, offset, and MayaFlux::Portal::Graphics::DrawRun::topology.