From 2c4cd68a00f5b24522f1252e3f4cf91a75116e5f Mon Sep 17 00:00:00 2001 From: sam gateau Date: Fri, 30 Nov 2018 17:43:27 -0800 Subject: [PATCH] iterating on a simpler engine graph --- libraries/render-utils/src/RenderDeferredTask.cpp | 9 ++++++++- .../render/src/render/RenderFetchCullSortTask.cpp | 10 +++++++++- libraries/render/src/render/RenderFetchCullSortTask.h | 6 ++++-- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/libraries/render-utils/src/RenderDeferredTask.cpp b/libraries/render-utils/src/RenderDeferredTask.cpp index 01df28d1dd..95e1298de8 100644 --- a/libraries/render-utils/src/RenderDeferredTask.cpp +++ b/libraries/render-utils/src/RenderDeferredTask.cpp @@ -151,7 +151,14 @@ void RenderDeferredTask::build(JobModel& task, const render::Varying& input, ren const auto& metas = items[RenderFetchCullSortTask::META]; const auto& overlayOpaques = items[RenderFetchCullSortTask::OVERLAY_OPAQUE_SHAPE]; const auto& overlayTransparents = items[RenderFetchCullSortTask::OVERLAY_TRANSPARENT_SHAPE]; - + const auto& overlayOpaques = items[RenderFetchCullSortTask::OVERLAY_OPAQUE_SHAPE]; + const auto& overlayTransparents = items[RenderFetchCullSortTask::OVERLAY_TRANSPARENT_SHAPE]; + const auto& overlaysInFrontOpaque = items[RenderFetchCullSortTask::LAYER_FRONT_OPAQUE_SHAPE]; + const auto& overlaysInFrontTransparent = items[RenderFetchCullSortTask::LAYER_FRONT_TRANSPARENT_SHAPE]; + const auto& overlaysHUDOpaque = items[RenderFetchCullSortTask::LAYER_HUD_OPAQUE_SHAPE]; + const auto& overlaysHUDTransparent = items[RenderFetchCullSortTask::LAYER_HUD_TRANSPARENT_SHAPE]; + + //const auto& background = items.get0()[RenderFetchCullSortTask::BACKGROUND]; const auto& spatialSelection = fetchedItems[1]; diff --git a/libraries/render/src/render/RenderFetchCullSortTask.cpp b/libraries/render/src/render/RenderFetchCullSortTask.cpp index 7b9765dca1..324f1d879f 100644 --- a/libraries/render/src/render/RenderFetchCullSortTask.cpp +++ b/libraries/render/src/render/RenderFetchCullSortTask.cpp @@ -70,5 +70,13 @@ void RenderFetchCullSortTask::build(JobModel& task, const Varying& input, Varyin const auto overlayTransparents = task.addJob("DepthSortOverlayTransparent", filteredNonspatialBuckets[TRANSPARENT_SHAPE_BUCKET], DepthSortItems(false)); const auto background = filteredNonspatialBuckets[BACKGROUND_BUCKET]; - output = Output(BucketList{ opaques, transparents, lights, metas, overlayOpaques, overlayTransparents, background }, spatialSelection); + // split up the overlays into 3D front, hud + const auto filteredOverlaysOpaque = task.addJob("FilterOverlaysLayeredOpaque", overlayOpaques, ItemKey::Layer::LAYER_1); + const auto filteredOverlaysTransparent = task.addJob("FilterOverlaysLayeredTransparent", overlayTransparents, ItemKey::Layer::LAYER_1); + + + output = Output(BucketList{ opaques, transparents, lights, metas, overlayOpaques, overlayTransparents, + filteredOverlaysOpaque.getN(0), filteredOverlaysTransparent.getN(0), + filteredOverlaysOpaque.getN(1), filteredOverlaysTransparent.getN(1), + background }, spatialSelection); } diff --git a/libraries/render/src/render/RenderFetchCullSortTask.h b/libraries/render/src/render/RenderFetchCullSortTask.h index 962191ace4..a75c814d91 100644 --- a/libraries/render/src/render/RenderFetchCullSortTask.h +++ b/libraries/render/src/render/RenderFetchCullSortTask.h @@ -25,8 +25,10 @@ public: META, OVERLAY_OPAQUE_SHAPE, OVERLAY_TRANSPARENT_SHAPE, - HUD_OPAQUE_SHAPE, - HUD_TRANSPARENT_SHAPE, + LAYER_FRONT_OPAQUE_SHAPE, + LAYER_FRONT_TRANSPARENT_SHAPE, + LAYER_HUD_OPAQUE_SHAPE, + LAYER_HUD_TRANSPARENT_SHAPE, BACKGROUND,