Overte C++ Documentation
DrawHaze.h
1 //
2 // DrawHaze.h
3 // libraries/render-utils/src
4 //
5 // Created by Nissim Hadar on 9/1/2017.
6 // Copyright 2015 High Fidelity, Inc.
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_utils_DrawHaze_h
13 #define hifi_render_utils_DrawHaze_h
14 
15 #include <DependencyManager.h>
16 #include <NumericalConstants.h>
17 
18 #include <gpu/Resource.h>
19 #include <gpu/Pipeline.h>
20 #include <render/Forward.h>
21 #include <render/DrawTask.h>
22 
23 #include "SurfaceGeometryPass.h"
24 #include "LightingModel.h"
25 
26 #include "HazeStage.h"
27 #include "LightStage.h"
28 
29 using LinearDepthFramebufferPointer = std::shared_ptr<LinearDepthFramebuffer>;
30 
31 class DrawHaze {
32 public:
33  using Inputs = render::VaryingSet6<HazeStage::FramePointer, gpu::FramebufferPointer, LinearDepthFramebufferPointer, DeferredFrameTransformPointer, LightingModelPointer, LightStage::FramePointer>;
34  using JobModel = render::Job::ModelI<DrawHaze, Inputs>;
35 
36  void run(const render::RenderContextPointer& renderContext, const Inputs& inputs);
37 
38 private:
39  gpu::PipelinePointer _hazePipeline;
40 };
41 
42 #endif // hifi_render_utils_DrawHaze_h