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

◆ get_vertex_layout()

Kakshya::VertexLayout MayaFlux::Nodes::Network::AssemblyOperator::get_vertex_layout ( ) const
overridevirtual

The universal Kakshya::Vertex attribute layout, vertex_count 0 when there are no items yet.

Every item's record shares one 60-byte offset table regardless of topology (only the scalar field's name differs), so the shape is knowable – and a render pipeline buildable – before the first item ever arrives; only the count is data-dependent.

Implements MayaFlux::Nodes::Network::GraphicsOperator.

Definition at line 85 of file AssemblyOperator.cpp.

86{
87 if (m_items.empty()) {
88 return Kakshya::VertexLayout::for_points(sizeof(Kakshya::Vertex));
89 }
90
91 auto layout_opt = m_items[0]->get_vertex_layout();
92 if (!layout_opt) {
93 return Kakshya::VertexLayout::for_points(sizeof(Kakshya::Vertex));
94 }
95
96 auto layout = *layout_opt;
97 layout.vertex_count = static_cast<uint32_t>(get_vertex_count());
98 return layout;
99}
std::vector< std::shared_ptr< GpuSync::GeometryWriterNode > > m_items
size_t get_vertex_count() const override
Get number of vertices (may differ from point count for topology/path)
static VertexLayout for_points(uint32_t stride=60)
Factory: layout for PointVertex (position, color, size, uv, normal, tangent)

References MayaFlux::Kakshya::VertexLayout::for_points(), get_vertex_count(), and m_items.

+ Here is the call graph for this function: