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