13 #ifndef hifi_RenderViewTask_h
14 #define hifi_RenderViewTask_h
16 #include <render/Engine.h>
17 #include <render/RenderFetchCullSortTask.h>
19 #include "AssembleLightingStageTask.h"
21 class RenderShadowsAndDeferredTask {
23 using Input = render::VaryingSet3<RenderFetchCullSortTask::Output, LightingModelPointer, AssembleLightingStageTask::Output>;
24 using JobModel = render::Task::ModelI<RenderShadowsAndDeferredTask, Input>;
26 RenderShadowsAndDeferredTask() {}
28 void build(JobModel& task,
const render::Varying& inputs, render::Varying& outputs, render::CullFunctor cullFunctor,
29 uint8_t tagBits, uint8_t tagMask, uint8_t transformOffset,
size_t depth);
32 class DeferredForwardSwitchJob {
34 using Input = render::VaryingSet3<RenderFetchCullSortTask::Output, LightingModelPointer, AssembleLightingStageTask::Output>;
35 using JobModel = render::Switch::ModelI<DeferredForwardSwitchJob, Input>;
37 DeferredForwardSwitchJob() {}
39 void configure(
const render::SwitchConfig& config) {}
40 void build(JobModel& task,
const render::Varying& inputs, render::Varying& outputs, render::CullFunctor cullFunctor,
41 uint8_t tagBits, uint8_t tagMask, uint8_t transformOffset,
size_t depth);
44 class RenderViewTask {
46 using Input = RenderFetchCullSortTask::Output;
47 using JobModel = render::Task::ModelI<RenderViewTask, Input>;
52 enum TransformOffset: uint8_t {
58 void build(JobModel& task,
const render::Varying& inputs, render::Varying& outputs, render::CullFunctor cullFunctor,
59 uint8_t tagBits = 0x00, uint8_t tagMask = 0x00, TransformOffset transformOffset = TransformOffset::MAIN_VIEW,
size_t depth = 0);