12 #ifndef hifi_RenderViewTask_h
13 #define hifi_RenderViewTask_h
15 #include <render/Engine.h>
16 #include <render/RenderFetchCullSortTask.h>
18 #include "AssembleLightingStageTask.h"
20 class RenderShadowsAndDeferredTask {
22 using Input = render::VaryingSet3<RenderFetchCullSortTask::Output, LightingModelPointer, AssembleLightingStageTask::Output>;
23 using JobModel = render::Task::ModelI<RenderShadowsAndDeferredTask, Input>;
25 RenderShadowsAndDeferredTask() {}
27 void build(JobModel& task,
const render::Varying& inputs, render::Varying& outputs, render::CullFunctor cullFunctor, uint8_t tagBits, uint8_t tagMask);
31 class DeferredForwardSwitchJob {
33 using Input = render::VaryingSet3<RenderFetchCullSortTask::Output, LightingModelPointer, AssembleLightingStageTask::Output>;
34 using JobModel = render::Switch::ModelI<DeferredForwardSwitchJob, Input>;
36 DeferredForwardSwitchJob() {}
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);
43 class RenderViewTask {
45 using Input = RenderFetchCullSortTask::Output;
46 using JobModel = render::Task::ModelI<RenderViewTask, Input>;
50 void build(JobModel& task,
const render::Varying& inputs, render::Varying& outputs, render::CullFunctor cullFunctor, uint8_t tagBits = 0x00, uint8_t tagMask = 0x00);