41 return subrender_holder_.Has<T>();
52 return subrender_holder_.Get<T>();
62 template <
typename T,
typename... Args>
65 return subrender_holder_.Add<T>(pipelineStage, std::make_unique<T>(pipelineStage, std::forward<Args>(args)...));
75 subrender_holder_.Remove<T>();
83 subrender_holder_.Clear();
88 if (index >= render_stages_.size())
93 return render_stages_.at(index).get();
96 void AddRenderStage(std::unique_ptr<RenderStage>&& renderStage)
98 render_stages_.emplace_back(std::move(renderStage));
101 void AddRenderTarget(RenderTargetSpecification specification)
103 render_targets_.emplace_back(std::move(specification));
107 bool started_ =
false;
108 std::vector<RenderTargetSpecification> render_targets_;
109 std::vector<std::unique_ptr<RenderStage>> render_stages_;
110 SubrenderHolder subrender_holder_;