History

more overlay wip

SamGondelman committed 7 years ago

Commit 5ce8f561 parent ca8d64b62 files · +620 −864Browse files

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

Unified · Split

libraries/render-utils/src/RenderDeferredTask.cpp+26−26
@@ -116,13 +116,13 @@ void RenderDeferredTask::build(JobModel& task, const render::Varying& input, ren · 115 unmodified lines
116 116
117 const auto& items = fetchedItems.get0();117 const auto& items = fetchedItems.get0();
118 118
119 // Extract opaques / transparents / lights / metas / overlays / background119 // Extract opaques / transparents / lights / metas / layered / background
120 const auto& opaques = items[RenderFetchCullSortTask::OPAQUE_SHAPE];120 const auto& opaques = items[RenderFetchCullSortTask::OPAQUE_SHAPE];
121 const auto& transparents = items[RenderFetchCullSortTask::TRANSPARENT_SHAPE];121 const auto& transparents = items[RenderFetchCullSortTask::TRANSPARENT_SHAPE];
122 const auto& overlaysInFrontOpaque = items[RenderFetchCullSortTask::LAYER_FRONT_OPAQUE_SHAPE];122 const auto& inFrontOpaque = items[RenderFetchCullSortTask::LAYER_FRONT_OPAQUE_SHAPE];
123 const auto& overlaysInFrontTransparent = items[RenderFetchCullSortTask::LAYER_FRONT_TRANSPARENT_SHAPE];123 const auto& inFrontTransparent = items[RenderFetchCullSortTask::LAYER_FRONT_TRANSPARENT_SHAPE];
124 const auto& overlaysHUDOpaque = items[RenderFetchCullSortTask::LAYER_HUD_OPAQUE_SHAPE];124 const auto& hudOpaque = items[RenderFetchCullSortTask::LAYER_HUD_OPAQUE_SHAPE];
125 const auto& overlaysHUDTransparent = items[RenderFetchCullSortTask::LAYER_HUD_TRANSPARENT_SHAPE];125 const auto& hudTransparent = items[RenderFetchCullSortTask::LAYER_HUD_TRANSPARENT_SHAPE];
126 126
127 // Lighting model comes next, the big configuration of the view127 // Lighting model comes next, the big configuration of the view
128 const auto& lightingModel = inputs[1];128 const auto& lightingModel = inputs[1];
@@ -227,12 +227,12 @@ void RenderDeferredTask::build(JobModel& task, const render::Varying& input, ren · 98 unmodified lines
227 task.addJob<EndGPURangeTimer>("HighlightRangeTimer", outlineRangeTimer);227 task.addJob<EndGPURangeTimer>("HighlightRangeTimer", outlineRangeTimer);
228 228
229 // Layered Over (in front)229 // Layered Over (in front)
230 const auto overlayInFrontOpaquesInputs = DrawOverlay3D::Inputs(overlaysInFrontOpaque, lightingModel, jitter).asVarying();230 const auto inFrontOpaquesInputs = DrawLayered3D::Inputs(inFrontOpaque, lightingModel, jitter).asVarying();
231 const auto overlayInFrontTransparentsInputs = DrawOverlay3D::Inputs(overlaysInFrontTransparent, lightingModel, jitter).asVarying();231 const auto inFrontTransparentsInputs = DrawLayered3D::Inputs(inFrontTransparent, lightingModel, jitter).asVarying();
232 task.addJob<DrawOverlay3D>("DrawOverlayInFrontOpaque", overlayInFrontOpaquesInputs, true);232 task.addJob<DrawLayered3D>("DrawInFrontOpaque", inFrontOpaquesInputs, true);
233 task.addJob<DrawOverlay3D>("DrawOverlayInFrontTransparent", overlayInFrontTransparentsInputs, false);233 task.addJob<DrawLayered3D>("DrawInFrontTransparent", inFrontTransparentsInputs, false);
234 234
235 const auto toneAndPostRangeTimer = task.addJob<BeginGPURangeTimer>("BeginToneAndPostRangeTimer", "PostToneOverlaysAntialiasing");235 const auto toneAndPostRangeTimer = task.addJob<BeginGPURangeTimer>("BeginToneAndPostRangeTimer", "PostToneLayeredAntialiasing");
236 236
237 // AA job before bloom to limit flickering237 // AA job before bloom to limit flickering
238 const auto antialiasingInputs = Antialiasing::Inputs(deferredFrameTransform, lightingFramebuffer, linearDepthTarget, velocityBuffer).asVarying();238 const auto antialiasingInputs = Antialiasing::Inputs(deferredFrameTransform, lightingFramebuffer, linearDepthTarget, velocityBuffer).asVarying();
@@ -257,14 +257,14 @@ void RenderDeferredTask::build(JobModel& task, const render::Varying& input, ren · 18 unmodified lines
257 // Upscale to finale resolution257 // Upscale to finale resolution
258 const auto primaryFramebuffer = task.addJob<render::Upsample>("PrimaryBufferUpscale", scaledPrimaryFramebuffer);258 const auto primaryFramebuffer = task.addJob<render::Upsample>("PrimaryBufferUpscale", scaledPrimaryFramebuffer);
259 259
260 // Composite the HUD and HUD overlays260 // Composite the HUD and HUD layered objects
261 task.addJob<CompositeHUD>("HUD");261 task.addJob<CompositeHUD>("HUD");
262 262
263 const auto nullJitter = Varying(glm::vec2(0.0f, 0.0f));263 const auto nullJitter = Varying(glm::vec2(0.0f, 0.0f));
264 const auto overlayHUDOpaquesInputs = DrawOverlay3D::Inputs(overlaysHUDOpaque, lightingModel, nullJitter).asVarying();264 const auto hudOpaquesInputs = DrawLayered3D::Inputs(hudOpaque, lightingModel, nullJitter).asVarying();
265 const auto overlayHUDTransparentsInputs = DrawOverlay3D::Inputs(overlaysHUDTransparent, lightingModel, nullJitter).asVarying();265 const auto hudTransparentsInputs = DrawLayered3D::Inputs(hudTransparent, lightingModel, nullJitter).asVarying();
266 task.addJob<DrawOverlay3D>("DrawOverlayHUDOpaque", overlayHUDOpaquesInputs, true);266 task.addJob<DrawLayered3D>("DrawHUDOpaque", hudOpaquesInputs, true);
267 task.addJob<DrawOverlay3D>("DrawOverlayHUDTransparent", overlayHUDTransparentsInputs, false);267 task.addJob<DrawLayered3D>("DrawHUDTransparent", hudTransparentsInputs, false);
268 268
269 task.addJob<EndGPURangeTimer>("ToneAndPostRangeTimer", toneAndPostRangeTimer);269 task.addJob<EndGPURangeTimer>("ToneAndPostRangeTimer", toneAndPostRangeTimer);
270 270
@@ -283,15 +283,15 @@ void RenderDeferredTaskDebug::build(JobModel& task, const render::Varying& input · 12 unmodified lines
283 const auto& fetchCullSortTaskOut = inputs.get0();283 const auto& fetchCullSortTaskOut = inputs.get0();
284 const auto& items = fetchCullSortTaskOut.get0();284 const auto& items = fetchCullSortTaskOut.get0();
285 285
286 // Extract opaques / transparents / lights / metas / overlays InFront and HUD / background286 // Extract opaques / transparents / lights / metas / layered / background
287 const auto& opaques = items[RenderFetchCullSortTask::OPAQUE_SHAPE];287 const auto& opaques = items[RenderFetchCullSortTask::OPAQUE_SHAPE];
288 const auto& transparents = items[RenderFetchCullSortTask::TRANSPARENT_SHAPE];288 const auto& transparents = items[RenderFetchCullSortTask::TRANSPARENT_SHAPE];
289 const auto& lights = items[RenderFetchCullSortTask::LIGHT];289 const auto& lights = items[RenderFetchCullSortTask::LIGHT];
290 const auto& metas = items[RenderFetchCullSortTask::META];290 const auto& metas = items[RenderFetchCullSortTask::META];
291 const auto& overlaysInFrontOpaque = items[RenderFetchCullSortTask::LAYER_FRONT_OPAQUE_SHAPE];291 const auto& inFrontOpaque = items[RenderFetchCullSortTask::LAYER_FRONT_OPAQUE_SHAPE];
292 const auto& overlaysInFrontTransparent = items[RenderFetchCullSortTask::LAYER_FRONT_TRANSPARENT_SHAPE];292 const auto& inFrontTransparent = items[RenderFetchCullSortTask::LAYER_FRONT_TRANSPARENT_SHAPE];
293 const auto& overlaysHUDOpaque = items[RenderFetchCullSortTask::LAYER_HUD_OPAQUE_SHAPE];293 const auto& hudOpaque = items[RenderFetchCullSortTask::LAYER_HUD_OPAQUE_SHAPE];
294 const auto& overlaysHUDTransparent = items[RenderFetchCullSortTask::LAYER_HUD_TRANSPARENT_SHAPE];294 const auto& hudTransparent = items[RenderFetchCullSortTask::LAYER_HUD_TRANSPARENT_SHAPE];
295 295
296 const auto& spatialSelection = fetchCullSortTaskOut[1];296 const auto& spatialSelection = fetchCullSortTaskOut[1];
297 297
@@ -388,14 +388,14 @@ void RenderDeferredTaskDebug::build(JobModel& task, const render::Varying& input · 90 unmodified lines
388 task.addJob<DrawBounds>("DrawSelectionBounds", selectedItems);388 task.addJob<DrawBounds>("DrawSelectionBounds", selectedItems);
389 }389 }
390 390
391 { // Debug the bounds of the rendered Overlay items that are marked drawInFront, still look at the zbuffer391 { // Debug the bounds of the layered objects, still look at the zbuffer
392 task.addJob<DrawBounds>("DrawOverlayInFrontOpaqueBounds", overlaysInFrontOpaque);392 task.addJob<DrawBounds>("DrawInFrontOpaqueBounds", inFrontOpaque);
393 task.addJob<DrawBounds>("DrawOverlayInFrontTransparentBounds", overlaysInFrontTransparent);393 task.addJob<DrawBounds>("DrawInFrontTransparentBounds", inFrontTransparent);
394 }394 }
395 395
396 { // Debug the bounds of the rendered Overlay items that are marked drawHUDLayer, still look at the zbuffer396 { // Debug the bounds of the layered objects, still look at the zbuffer
397 task.addJob<DrawBounds>("DrawOverlayHUDOpaqueBounds", overlaysHUDOpaque);397 task.addJob<DrawBounds>("DrawHUDOpaqueBounds", hudOpaque);
398 task.addJob<DrawBounds>("DrawOverlayHUDTransparentBounds", overlaysHUDTransparent);398 task.addJob<DrawBounds>("DrawHUDTransparentBounds", hudTransparent);
399 }399 }
400 400
401 // Debugging stages401 // Debugging stages