Overte C++ Documentation
StageSetup.h
1 //
2 // StageSetup.h
3 // render/src/render
4 //
5 // Created by HifiExperiments on 10/16/24
6 // Copyright 2024 Overte e.V.
7 //
8 // Distributed under the Apache License, Version 2.0.
9 // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
10 //
11 
12 #ifndef hifi_render_StageSetup_h
13 #define hifi_render_StageSetup_h
14 
15 #include "Engine.h"
16 
17 namespace render {
18 
19  template <typename T>
20  class StageSetup {
21  public:
22  StageSetup() {}
23 
24  void run(const RenderContextPointer& renderContext) {
25  if (renderContext->_scene) {
26  auto stage = renderContext->_scene->getStage(T::getName());
27  if (!stage) {
28  renderContext->_scene->resetStage(T::getName(), std::make_shared<T>());
29  }
30  }
31  }
32  };
33 }
34 
35 #endif // hifi_render_StageSetup_h