9 #ifndef hifi_AssembleLightingStageTask_h
10 #define hifi_AssembleLightingStageTask_h
12 #include <render/RenderFetchCullSortTask.h>
13 #include "LightingModel.h"
15 #include "LightStage.h"
16 #include "BackgroundStage.h"
17 #include "HazeStage.h"
18 #include "BloomStage.h"
20 #include "ZoneRenderer.h"
23 class FetchCurrentFrames {
25 using Output = render::VaryingSet4<LightStage::FramePointer, BackgroundStage::FramePointer, HazeStage::FramePointer, BloomStage::FramePointer>;
26 using JobModel = render::Job::ModelO<FetchCurrentFrames, Output>;
28 FetchCurrentFrames() {}
30 void run(
const render::RenderContextPointer& renderContext, Output& output);
33 class AssembleLightingStageTask {
35 using Input = RenderFetchCullSortTask::Output;
36 using Output = render::VaryingSet2<FetchCurrentFrames::Output, ZoneRendererTask::Output>;
37 using JobModel = render::Task::ModelIO<AssembleLightingStageTask, Input, Output, render::Task::Config>;
39 AssembleLightingStageTask() {}
41 void build(JobModel& task,
const render::Varying& input, render::Varying& output);