Showing the changes to libraries/render-utils/src/RenderForwardTask.cpp (1 of 62 files). Show all
Unified · Split
| @@ -65,11 +65,10 @@ void RenderForwardTask::build(JobModel& task, const render::Varying& input, rend · 64 unmodified lines | ||
| 65 | 65 | const auto& opaques = items[RenderFetchCullSortTask::OPAQUE_SHAPE]; |
| 66 | 66 | const auto& transparents = items[RenderFetchCullSortTask::TRANSPARENT_SHAPE]; |
| 67 | 67 | const auto& metas = items[RenderFetchCullSortTask::META]; |
| 68 | − const auto& overlaysInFrontOpaque = items[RenderFetchCullSortTask::LAYER_FRONT_OPAQUE_SHAPE]; | |
| 69 | − const auto& overlaysInFrontTransparent = items[RenderFetchCullSortTask::LAYER_FRONT_TRANSPARENT_SHAPE]; | |
| 70 | − // TODO: Re enable the rendering of the HUD overlayes | |
| 71 | − // const auto& overlaysHUDOpaque = items[RenderFetchCullSortTask::LAYER_HUD_OPAQUE_SHAPE]; | |
| 72 | − // const auto& overlaysHUDTransparent = items[RenderFetchCullSortTask::LAYER_HUD_TRANSPARENT_SHAPE]; | |
| 68 | + const auto& inFrontOpaque = items[RenderFetchCullSortTask::LAYER_FRONT_OPAQUE_SHAPE]; | |
| 69 | + const auto& inFrontTransparent = items[RenderFetchCullSortTask::LAYER_FRONT_TRANSPARENT_SHAPE]; | |
| 70 | + const auto& hudOpaque = items[RenderFetchCullSortTask::LAYER_HUD_OPAQUE_SHAPE]; | |
| 71 | + const auto& hudTransparent = items[RenderFetchCullSortTask::LAYER_HUD_TRANSPARENT_SHAPE]; | |
| 73 | 72 | |
| 74 | 73 | // Lighting model comes next, the big configuration of the view |
| 75 | 74 | const auto& lightingModel = inputs[1]; |
| @@ -97,14 +96,12 @@ void RenderForwardTask::build(JobModel& task, const render::Varying& input, rend · 21 unmodified lines | ||
| 97 | 96 | // draw a stencil mask in hidden regions of the framebuffer. |
| 98 | 97 | task.addJob<PrepareStencil>("PrepareStencil", framebuffer); |
| 99 | 98 | |
| 100 | − // Layered Overlays | |
| 99 | + // Layered | |
| 101 | 100 | const auto nullJitter = Varying(glm::vec2(0.0f, 0.0f)); |
| 102 | − | |
| 103 | − // Layered Over (in front) | |
| 104 | − const auto overlayInFrontOpaquesInputs = DrawOverlay3D::Inputs(overlaysInFrontOpaque, lightingModel, nullJitter).asVarying(); | |
| 105 | − const auto overlayInFrontTransparentsInputs = DrawOverlay3D::Inputs(overlaysInFrontTransparent, lightingModel, nullJitter).asVarying(); | |
| 106 | − task.addJob<DrawOverlay3D>("DrawOverlayInFrontOpaque", overlayInFrontOpaquesInputs, true); | |
| 107 | − task.addJob<DrawOverlay3D>("DrawOverlayInFrontTransparent", overlayInFrontTransparentsInputs, false); | |
| 101 | + const auto inFrontOpaquesInputs = DrawLayered3D::Inputs(inFrontOpaque, lightingModel, nullJitter).asVarying(); | |
| 102 | + const auto inFrontTransparentsInputs = DrawLayered3D::Inputs(inFrontTransparent, lightingModel, nullJitter).asVarying(); | |
| 103 | + task.addJob<DrawLayered3D>("DrawInFrontOpaque", inFrontOpaquesInputs, true); | |
| 104 | + task.addJob<DrawLayered3D>("DrawInFrontTransparent", inFrontTransparentsInputs, false); | |
| 108 | 105 | |
| 109 | 106 | // Draw opaques forward |
| 110 | 107 | const auto opaqueInputs = DrawForward::Inputs(opaques, lightingModel).asVarying(); |
| @@ -135,10 +132,14 @@ void RenderForwardTask::build(JobModel& task, const render::Varying& input, rend · 24 unmodified lines | ||
| 135 | 132 | const auto toneMappingInputs = ToneMappingDeferred::Inputs(framebuffer, static_cast<gpu::FramebufferPointer>(nullptr) ).asVarying(); |
| 136 | 133 | task.addJob<ToneMappingDeferred>("ToneMapping", toneMappingInputs); |
| 137 | 134 | |
| 138 | − // Layered Overlays | |
| 139 | − // Composite the HUD and HUD overlays | |
| 135 | + // Composite the HUD and HUD layered objects | |
| 140 | 136 | task.addJob<CompositeHUD>("HUD"); |
| 141 | 137 | |
| 138 | + const auto hudOpaquesInputs = DrawLayered3D::Inputs(hudOpaque, lightingModel, nullJitter).asVarying(); | |
| 139 | + const auto hudTransparentsInputs = DrawLayered3D::Inputs(hudTransparent, lightingModel, nullJitter).asVarying(); | |
| 140 | + task.addJob<DrawLayered3D>("DrawHUDOpaque", hudOpaquesInputs, true); | |
| 141 | + task.addJob<DrawLayered3D>("DrawHUDTransparent", hudTransparentsInputs, false); | |
| 142 | + | |
| 142 | 143 | // Disable blit because we do tonemapping and compositing directly to the blit FBO |
| 143 | 144 | // Blit! |
| 144 | 145 | // task.addJob<Blit>("Blit", framebuffer); |