68 size_t initial_capacity = 1024 * 1024,
69 float over_allocate_factor = 1.5F);
84 const std::string& name,
85 const std::shared_ptr<Nodes::GpuSync::GeometryWriterNode>& node,
87 const std::shared_ptr<Core::Window>& target_window);
97 const std::string& name,
98 const std::shared_ptr<Nodes::GpuSync::GeometryWriterNode>& node,
106 void remove_geometry(
const std::string& name);
113 [[nodiscard]] std::optional<CompositeGeometryProcessor::GeometryCollection>
114 get_collection(
const std::string& name)
const;
119 [[nodiscard]]
size_t get_collection_count()
const;
150 std::vector<std::shared_ptr<RenderProcessor>> renders;
151 renders.reserve(m_render_data.size());
152 for (
const auto& [_, data] : m_render_data) {
153 renders.push_back(data.render_processor);
166 void update_collection_render_range(
167 const std::string& name,
168 uint32_t vertex_offset,
169 uint32_t vertex_count);
180 void update_collection_vertex_layout(
181 const std::string& name,
192 static size_t calculate_initial_size(
size_t requested_capacity);