Showing the changes to libraries/render-utils/src/RenderDeferredTask.cpp (1 of 13 files). Show all
Unified · Split
| @@ -31,6 +31,7 @@ · 30 unmodified lines | ||
| 31 | 31 | #include "DeferredFramebuffer.h" |
| 32 | 32 | #include "DeferredLightingEffect.h" |
| 33 | 33 | #include "SurfaceGeometryPass.h" |
| 34 | +#include "VelocityBufferPass.h" | |
| 34 | 35 | #include "FramebufferCache.h" |
| 35 | 36 | #include "TextureCache.h" |
| 36 | 37 | #include "ZoneRenderer.h" |
| @@ -130,7 +131,11 @@ void RenderDeferredTask::build(JobModel& task, const render::Varying& input, ren · 93 unmodified lines | ||
| 130 | 131 | const auto ambientOcclusionFramebuffer = ambientOcclusionOutputs.getN<AmbientOcclusionEffect::Outputs>(0); |
| 131 | 132 | const auto ambientOcclusionUniforms = ambientOcclusionOutputs.getN<AmbientOcclusionEffect::Outputs>(1); |
| 132 | 133 | |
| 133 | − | |
| 134 | + // Velocity | |
| 135 | + const auto velocityBufferInputs = VelocityBufferPass::Inputs(deferredFrameTransform, deferredFramebuffer).asVarying(); | |
| 136 | + const auto velocityBufferOutputs = task.addJob<VelocityBufferPass>("VelocityBuffer", velocityBufferInputs); | |
| 137 | + const auto velocityBuffer = velocityBufferOutputs.getN<VelocityBufferPass::Outputs>(0); | |
| 138 | + | |
| 134 | 139 | // Draw Lights just add the lights to the current list of lights to deal with. NOt really gpu job for now. |
| 135 | 140 | task.addJob<DrawLight>("DrawLight", lights); |
| 136 | 141 | |
| @@ -149,6 +154,7 @@ void RenderDeferredTask::build(JobModel& task, const render::Varying& input, ren · 12 unmodified lines | ||
| 149 | 154 | |
| 150 | 155 | task.addJob<RenderDeferred>("RenderDeferred", deferredLightingInputs); |
| 151 | 156 | |
| 157 | + | |
| 152 | 158 | // Similar to light stage, background stage has been filled by several potential render items and resolved for the frame in this job |
| 153 | 159 | task.addJob<DrawBackgroundStage>("DrawBackgroundDeferred", lightingModel); |
| 154 | 160 | |
| @@ -191,7 +197,7 @@ void RenderDeferredTask::build(JobModel& task, const render::Varying& input, ren · 36 unmodified lines | ||
| 191 | 197 | // Debugging stages |
| 192 | 198 | { |
| 193 | 199 | // Debugging Deferred buffer job |
| 194 | − const auto debugFramebuffers = render::Varying(DebugDeferredBuffer::Inputs(deferredFramebuffer, linearDepthTarget, surfaceGeometryFramebuffer, ambientOcclusionFramebuffer)); | |
| 200 | + const auto debugFramebuffers = render::Varying(DebugDeferredBuffer::Inputs(deferredFramebuffer, linearDepthTarget, surfaceGeometryFramebuffer, ambientOcclusionFramebuffer, velocityBuffer)); | |
| 195 | 201 | task.addJob<DebugDeferredBuffer>("DebugDeferredBuffer", debugFramebuffers); |
| 196 | 202 | |
| 197 | 203 | const auto debugSubsurfaceScatteringInputs = DebugSubsurfaceScattering::Inputs(deferredFrameTransform, deferredFramebuffer, lightingModel, |
| @@ -217,7 +223,7 @@ void RenderDeferredTask::build(JobModel& task, const render::Varying& input, ren · 19 unmodified lines | ||
| 217 | 223 | |
| 218 | 224 | task.addJob<DebugZoneLighting>("DrawZoneStack", deferredFrameTransform); |
| 219 | 225 | } |
| 220 | − | |
| 226 | + | |
| 221 | 227 | |
| 222 | 228 | // AA job to be revisited |
| 223 | 229 | task.addJob<Antialiasing>("Antialiasing", primaryFramebuffer); |