History

Created FadeEffect singleton to be able to get fade item & batch setters for every special entity render

Olivier Prat committed 9 years ago

Commit 3f8daa21 parent 76dd4216 files · +1011 −939Browse files

Showing the changes to libraries/render-utils/src/RenderDeferredTask.cpp (1 of 6 files). Show all

Unified · Split

libraries/render-utils/src/RenderDeferredTask.cpp+7−6
@@ -48,19 +48,21 @@ using namespace render; · 47 unmodified lines
4848 extern void initOverlay3DPipelines(render::ShapePlumber& plumber);
4949 extern void initDeferredPipelines(render::ShapePlumber& plumber, const render::ShapePipeline::BatchSetter& batchSetter, const render::ShapePipeline::ItemSetter& itemSetter);
5050
51+RenderDeferredTask::RenderDeferredTask() {
52+ DependencyManager::set<FadeEffect>();
53+}
54+
5155 void RenderDeferredTask::configure(const Config& config)
5256 {
5357 }
5458
5559 void RenderDeferredTask::build(JobModel& task, const render::Varying& input, render::Varying& output) {
5660 const auto& items = input.get<Input>();
57−
58− auto editedFadeCategory = task.addJob<FadeJob>("Fade");
59− auto& fadeJob = task._jobs.back().get<FadeJob>();
61+ auto fadeEffect = DependencyManager::get<FadeEffect>();
6062
6163 // Prepare the ShapePipelines
6264 ShapePlumberPointer shapePlumber = std::make_shared<ShapePlumber>();
63− initDeferredPipelines(*shapePlumber, fadeJob.getBatchSetter(), fadeJob.getItemSetter());
65+ initDeferredPipelines(*shapePlumber, fadeEffect->getBatchSetter(), fadeEffect->getItemSetter());
6466
6567 // Extract opaques / transparents / lights / metas / overlays / background
6668 const auto& opaques = items.get0()[RenderFetchCullSortTask::OPAQUE_SHAPE];
@@ -72,8 +74,7 @@ void RenderDeferredTask::build(JobModel& task, const render::Varying& input, ren · 5 unmodified lines
7274 //const auto& background = items.get0()[RenderFetchCullSortTask::BACKGROUND];
7375 const auto& spatialSelection = items[1];
7476
75− const auto fadeEditInput = FadeEditJob::Input(opaques, editedFadeCategory).asVarying();
76− task.addJob<FadeEditJob>("FadeEdit", fadeEditInput);
77+ fadeEffect->build(task, opaques);
7778
7879 // Filter the non antialiaased overlays
7980 const int LAYER_NO_AA = 3;