12 #ifndef hifi_render_utils_DrawHaze_h
13 #define hifi_render_utils_DrawHaze_h
15 #include <DependencyManager.h>
16 #include <NumericalConstants.h>
18 #include <gpu/Resource.h>
19 #include <gpu/Pipeline.h>
20 #include <render/Forward.h>
21 #include <render/DrawTask.h>
23 #include "SurfaceGeometryPass.h"
24 #include "LightingModel.h"
26 #include "HazeStage.h"
27 #include "LightStage.h"
29 using LinearDepthFramebufferPointer = std::shared_ptr<LinearDepthFramebuffer>;
33 using Inputs = render::VaryingSet6<HazeStage::FramePointer, gpu::FramebufferPointer, LinearDepthFramebufferPointer, DeferredFrameTransformPointer, LightingModelPointer, LightStage::FramePointer>;
34 using JobModel = render::Job::ModelI<DrawHaze, Inputs>;
36 DrawHaze(
bool separateBackgroundPass) : _separateBackgroundPass(separateBackgroundPass) {}
38 void run(
const render::RenderContextPointer& renderContext,
const Inputs& inputs);
41 bool _separateBackgroundPass {
false };
43 static gpu::PipelinePointer _hazePipeline;
44 static gpu::PipelinePointer _separateHazePipeline;
45 static gpu::PipelinePointer _separateHazeBackgroundPipeline;