45 [[nodiscard]]
IRenderPass& renderPass(
const std::string&
id)
const;
52 [[nodiscard]]
IPipeline& pipeline(
const std::string&
id)
const;
59 [[nodiscard]]
IBuffer& buffer(
const std::string&
id)
const;
66 [[nodiscard]]
IVertexBuffer& vertexBuffer(
const std::string&
id)
const;
73 [[nodiscard]]
IIndexBuffer& indexBuffer(
const std::string&
id)
const;
80 [[nodiscard]]
IImage& image(
const std::string&
id)
const;
87 [[nodiscard]]
ISampler& sampler(
const std::string&
id)
const;
94 [[nodiscard]]
IDescriptorSet& descriptorSet(
const std::string&
id)
const;
100 void add(std::unique_ptr<IRenderPass>&& render_pass);
107 void add(
const std::string&
id, std::unique_ptr<IRenderPass>&& render_pass);
113 void add(std::unique_ptr<IPipeline>&& pipeline);
120 void add(
const std::string&
id, std::unique_ptr<IPipeline>&& pipeline);
126 void add(std::unique_ptr<IBuffer>&& buffer);
133 void add(
const std::string&
id, std::unique_ptr<IBuffer>&& buffer);
139 void add(std::unique_ptr<IVertexBuffer>&& vertex_buffer);
146 void add(
const std::string&
id, std::unique_ptr<IVertexBuffer>&& vertex_buffer);
152 void add(std::unique_ptr<IIndexBuffer>&& index_buffer);
159 void add(
const std::string&
id, std::unique_ptr<IIndexBuffer>&& index_buffer);
165 void add(std::unique_ptr<IImage>&& image);
172 void add(
const std::string&
id, std::unique_ptr<IImage>&& image);
178 void add(std::unique_ptr<ISampler>&& sampler);
185 void add(
const std::string&
id, std::unique_ptr<ISampler>&& sampler);
192 void add(
const std::string&
id, std::unique_ptr<IDescriptorSet>&& descriptor_set);
217 bool release(
const IBuffer& buffer);
238 bool release(
const IImage& image);
245 bool release(
const ISampler& sampler);
261 std::unique_ptr<Impl> m_impl;