Showing the changes to libraries/render-utils/src/RenderDeferredTask.cpp (1 of 48 files). Show all
Unified · Split
| @@ -75,7 +75,6 @@ RenderDeferredTask::RenderDeferredTask(RenderFetchCullSortTask::Output items) { · 74 unmodified lines | |||
| 75 | // GPU jobs: Start preparing the primary, deferred and lighting buffer | 75 | // GPU jobs: Start preparing the primary, deferred and lighting buffer |
| 76 | const auto primaryFramebuffer = addJob<PreparePrimaryFramebuffer>("PreparePrimaryBuffer"); | 76 | const auto primaryFramebuffer = addJob<PreparePrimaryFramebuffer>("PreparePrimaryBuffer"); |
| 77 | 77 | ||
| 78 | // const auto fullFrameRangeTimer = addJob<BeginGPURangeTimer>("BeginRangeTimer"); | ||
| 79 | const auto opaqueRangeTimer = addJob<BeginGPURangeTimer>("BeginOpaqueRangeTimer", "DrawOpaques"); | 78 | const auto opaqueRangeTimer = addJob<BeginGPURangeTimer>("BeginOpaqueRangeTimer", "DrawOpaques"); |
| 80 | 79 | ||
| 81 | const auto prepareDeferredInputs = PrepareDeferred::Inputs(primaryFramebuffer, lightingModel).hasVarying(); | 80 | const auto prepareDeferredInputs = PrepareDeferred::Inputs(primaryFramebuffer, lightingModel).hasVarying(); |
| @@ -154,21 +153,25 @@ RenderDeferredTask::RenderDeferredTask(RenderFetchCullSortTask::Output items) { · 72 unmodified lines | |||
| 154 | const auto toneMappingInputs = render::Varying(ToneMappingDeferred::Inputs(lightingFramebuffer, primaryFramebuffer)); | 153 | const auto toneMappingInputs = render::Varying(ToneMappingDeferred::Inputs(lightingFramebuffer, primaryFramebuffer)); |
| 155 | addJob<ToneMappingDeferred>("ToneMapping", toneMappingInputs); | 154 | addJob<ToneMappingDeferred>("ToneMapping", toneMappingInputs); |
| 156 | 155 | ||
| 156 | { // DEbug the bounds of the rendered items, still look at the zbuffer | ||
| 157 | addJob<DrawBounds>("DrawMetaBounds", metas); | ||
| 158 | addJob<DrawBounds>("DrawOpaqueBounds", opaques); | ||
| 159 | addJob<DrawBounds>("DrawTransparentBounds", transparents); | ||
| 160 | } | ||
| 161 | |||
| 157 | // Overlays | 162 | // Overlays |
| 158 | const auto overlayOpaquesInputs = DrawOverlay3D::Inputs(overlayOpaques, lightingModel).hasVarying(); | 163 | const auto overlayOpaquesInputs = DrawOverlay3D::Inputs(overlayOpaques, lightingModel).hasVarying(); |
| 159 | const auto overlayTransparentsInputs = DrawOverlay3D::Inputs(overlayTransparents, lightingModel).hasVarying(); | 164 | const auto overlayTransparentsInputs = DrawOverlay3D::Inputs(overlayTransparents, lightingModel).hasVarying(); |
| 160 | addJob<DrawOverlay3D>("DrawOverlay3DOpaque", overlayOpaquesInputs, true); | 165 | addJob<DrawOverlay3D>("DrawOverlay3DOpaque", overlayOpaquesInputs, true); |
| 161 | addJob<DrawOverlay3D>("DrawOverlay3DTransparent", overlayTransparentsInputs, false); | 166 | addJob<DrawOverlay3D>("DrawOverlay3DTransparent", overlayTransparentsInputs, false); |
| 162 | 167 | ||
| 163 | // Debugging stages | 168 | { // DEbug the bounds of the rendered OVERLAY items, still look at the zbuffer |
| 164 | { | ||
| 165 | |||
| 166 | |||
| 167 | // Bounds do not draw on stencil buffer, so they must come last | ||
| 168 | addJob<DrawBounds>("DrawMetaBounds", metas); | ||
| 169 | addJob<DrawBounds>("DrawOverlayOpaqueBounds", overlayOpaques); | 169 | addJob<DrawBounds>("DrawOverlayOpaqueBounds", overlayOpaques); |
| 170 | addJob<DrawBounds>("DrawOverlayTransparentBounds", overlayTransparents); | 170 | addJob<DrawBounds>("DrawOverlayTransparentBounds", overlayTransparents); |
| 171 | 171 | } | |
| 172 | |||
| 173 | // Debugging stages | ||
| 174 | { | ||
| 172 | // Debugging Deferred buffer job | 175 | // Debugging Deferred buffer job |
| 173 | const auto debugFramebuffers = render::Varying(DebugDeferredBuffer::Inputs(deferredFramebuffer, linearDepthTarget, surfaceGeometryFramebuffer, ambientOcclusionFramebuffer)); | 176 | const auto debugFramebuffers = render::Varying(DebugDeferredBuffer::Inputs(deferredFramebuffer, linearDepthTarget, surfaceGeometryFramebuffer, ambientOcclusionFramebuffer)); |
| 174 | addJob<DebugDeferredBuffer>("DebugDeferredBuffer", debugFramebuffers); | 177 | addJob<DebugDeferredBuffer>("DebugDeferredBuffer", debugFramebuffers); |
| @@ -208,9 +211,6 @@ RenderDeferredTask::RenderDeferredTask(RenderFetchCullSortTask::Output items) { · 33 unmodified lines | |||
| 208 | 211 | ||
| 209 | // Blit! | 212 | // Blit! |
| 210 | addJob<Blit>("Blit", primaryFramebuffer); | 213 | addJob<Blit>("Blit", primaryFramebuffer); |
| 211 | |||
| 212 | // addJob<EndGPURangeTimer>("RangeTimer", fullFrameRangeTimer); | ||
| 213 | |||
| 214 | } | 214 | } |
| 215 | 215 | ||
| 216 | void BeginGPURangeTimer::run(const render::SceneContextPointer& sceneContext, const render::RenderContextPointer& renderContext, gpu::RangeTimerPointer& timer) { | 216 | void BeginGPURangeTimer::run(const render::SceneContextPointer& sceneContext, const render::RenderContextPointer& renderContext, gpu::RangeTimerPointer& timer) { |