12 #ifndef hifi_render_utils_BackgroundStage_h
13 #define hifi_render_utils_BackgroundStage_h
15 #include <graphics/Stage.h>
16 #include <render/Stage.h>
17 #include <render/StageSetup.h>
19 #include "HazeStage.h"
20 #include "LightingModel.h"
23 class BackgroundStage :
public render::PointerStage<graphics::SunSkyStage, graphics::SunSkyStagePointer> {};
24 using BackgroundStagePointer = std::shared_ptr<BackgroundStage>;
26 class BackgroundStageSetup :
public render::StageSetup<BackgroundStage> {
28 using JobModel = render::Job::Model<BackgroundStageSetup>;
31 class DrawBackgroundStage {
33 using Inputs = render::VaryingSet3<LightingModelPointer, BackgroundStage::FramePointer, HazeStage::FramePointer>;
34 using JobModel = render::Job::ModelI<DrawBackgroundStage, Inputs>;
36 DrawBackgroundStage(uint transformSlot) : _transformSlot(transformSlot) {}
38 void run(
const render::RenderContextPointer& renderContext,
const Inputs& inputs);