14 void windowResizeEvent(
ResizeEvent* pEvent)
override;
20 void registerPass(std::unique_ptr<RenderPass> pass, uint8_t position = 0);
22 template <
typename PassT>
26 m_renderPasses.begin(),
28 [](
const auto& pass) { return dynamic_cast<PassT*>(pass.get()) != nullptr; }
34 std::vector<std::unique_ptr<RenderPass>>& passes() {
return m_renderPasses; }
36 template <
typename PassT>
37 PassT* getPass()
const {
38 for (
auto& pass : m_renderPasses) {
39 if (PassT* concretePass =
dynamic_cast<PassT*
>(pass.get())) {
47 RenderPassRegistry() { m_renderPasses.reserve(std::numeric_limits<RenderPass::ID>::max()); }
49 std::vector<std::unique_ptr<RenderPass>> m_renderPasses;
void registerPass(std::unique_ptr< RenderPass > pass, uint8_t position=0)
Registers a custom render pass at the specified position.
Definition RenderPassRegistry.cpp:19