53 std::shared_ptr<Nodes::GpuSync::GeometryWriterNode> node,
54 const std::string& binding_name =
"geometry",
55 float over_allocate_factor = 1.5F);
69 return m_geometry_node;
77 return m_bindings_processor;
85 return m_binding_name;
93 return m_geometry_node ? m_geometry_node->get_vertex_count() : 0;
104 if (m_geometry_node) {
105 m_geometry_node->compute_frame();
113 void setup_rendering(
const RenderConfig& config);
117 return m_render_processor;
130 static size_t calculate_buffer_size(
131 const std::shared_ptr<Nodes::GpuSync::GeometryWriterNode>& node,
132 float over_allocate_factor);
std::shared_ptr< RenderProcessor > get_render_processor() const
std::shared_ptr< Nodes::GpuSync::GeometryWriterNode > get_geometry_node() const
Get the geometry node driving this buffer.
const std::string & get_binding_name() const
Get the logical binding name.
std::shared_ptr< Nodes::GpuSync::GeometryWriterNode > m_geometry_node
std::string m_binding_name
std::shared_ptr< RenderProcessor > m_render_processor
~GeometryBuffer() override=default
void update_geometry()
Trigger vertex computation on the node.
std::shared_ptr< GeometryBindingsProcessor > m_bindings_processor
std::shared_ptr< GeometryBindingsProcessor > get_bindings_processor() const
Get the bindings processor managing uploads.
uint32_t get_vertex_count() const
Get current vertex count from node.
Specialized buffer for generative geometry from GeometryWriterNode.
Vulkan-backed buffer wrapper used in processing chains.
ProcessingToken
Bitfield enum defining processing characteristics and backend requirements for buffer operations.