58 std::shared_ptr<Nodes::Network::NodeNetwork> network,
59 const std::string& binding_name =
"network_geometry",
60 float over_allocate_factor = 2.0F);
72 [[nodiscard]] std::shared_ptr<Nodes::Network::NodeNetwork>
get_network()
const
80 [[nodiscard]] std::shared_ptr<NetworkGeometryProcessor>
get_processor()
const
90 return m_binding_name;
96 [[nodiscard]] uint32_t get_vertex_count()
const;
106 if (m_network && m_network->is_enabled()) {
107 m_network->process_batch(num_samples);
115 void setup_rendering(
const RenderConfig& config);
119 return m_render_processor;
132 static size_t calculate_buffer_size(
133 const std::shared_ptr<Nodes::Network::NodeNetwork>& network,
134 float over_allocate_factor);
const std::string & get_binding_name() const
Get the logical binding name.
std::shared_ptr< NetworkGeometryProcessor > m_processor
~NetworkGeometryBuffer() override=default
std::shared_ptr< Nodes::Network::NodeNetwork > m_network
std::shared_ptr< Nodes::Network::NodeNetwork > get_network() const
Get the network driving this buffer.
std::string m_binding_name
std::shared_ptr< RenderProcessor > get_render_processor() const
std::shared_ptr< RenderProcessor > m_render_processor
std::shared_ptr< NetworkGeometryProcessor > get_processor() const
Get the processor managing uploads.
void update_network(unsigned int num_samples=1)
Trigger network processing.
Specialized buffer for geometry from NodeNetwork instances.
Vulkan-backed buffer wrapper used in processing chains.
ProcessingToken
Bitfield enum defining processing characteristics and backend requirements for buffer operations.