Overte C++ Documentation
RenderViewTask.h
1 //
2 // RenderViewTask.h
3 // render-utils/src/
4 //
5 // Created by Sam Gateau on 5/25/2017.
6 // Copyright 2017 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 #pragma once
12 #ifndef hifi_RenderViewTask_h
13 #define hifi_RenderViewTask_h
14 
15 #include <render/Engine.h>
16 #include <render/RenderFetchCullSortTask.h>
17 
18 #include "AssembleLightingStageTask.h"
19 
20 class RenderShadowsAndDeferredTask {
21 public:
22  using Input = render::VaryingSet3<RenderFetchCullSortTask::Output, LightingModelPointer, AssembleLightingStageTask::Output>;
23  using JobModel = render::Task::ModelI<RenderShadowsAndDeferredTask, Input>;
24 
25  RenderShadowsAndDeferredTask() {}
26 
27  void build(JobModel& task, const render::Varying& inputs, render::Varying& outputs, render::CullFunctor cullFunctor, uint8_t tagBits, uint8_t tagMask);
28 
29 };
30 
31 class DeferredForwardSwitchJob {
32 public:
33  using Input = render::VaryingSet3<RenderFetchCullSortTask::Output, LightingModelPointer, AssembleLightingStageTask::Output>;
34  using JobModel = render::Switch::ModelI<DeferredForwardSwitchJob, Input>;
35 
36  DeferredForwardSwitchJob() {}
37 
38  void configure(const render::SwitchConfig& config) {}
39  void build(JobModel& task, const render::Varying& inputs, render::Varying& outputs, render::CullFunctor cullFunctor, uint8_t tagBits, uint8_t tagMask);
40 
41 };
42 
43 class RenderViewTask {
44 public:
45  using Input = RenderFetchCullSortTask::Output;
46  using JobModel = render::Task::ModelI<RenderViewTask, Input>;
47 
48  RenderViewTask() {}
49 
50  void build(JobModel& task, const render::Varying& inputs, render::Varying& outputs, render::CullFunctor cullFunctor, uint8_t tagBits = 0x00, uint8_t tagMask = 0x00);
51 
52 };
53 
54 
55 #endif // hifi_RenderViewTask_h