History

introducing the Velocity buffer pass generation

samcake committed 9 years ago

Commit 2f0eee51 parent fe0b59713 files · +393 −7Browse files

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

Unified · Split

libraries/render-utils/src/RenderDeferredTask.cpp+9−3
@@ -31,6 +31,7 @@ · 30 unmodified lines
3131 #include "DeferredFramebuffer.h"
3232 #include "DeferredLightingEffect.h"
3333 #include "SurfaceGeometryPass.h"
34+#include "VelocityBufferPass.h"
3435 #include "FramebufferCache.h"
3536 #include "TextureCache.h"
3637 #include "ZoneRenderer.h"
@@ -130,7 +131,11 @@ void RenderDeferredTask::build(JobModel& task, const render::Varying& input, ren · 93 unmodified lines
130131 const auto ambientOcclusionFramebuffer = ambientOcclusionOutputs.getN<AmbientOcclusionEffect::Outputs>(0);
131132 const auto ambientOcclusionUniforms = ambientOcclusionOutputs.getN<AmbientOcclusionEffect::Outputs>(1);
132133
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+
134139 // Draw Lights just add the lights to the current list of lights to deal with. NOt really gpu job for now.
135140 task.addJob<DrawLight>("DrawLight", lights);
136141
@@ -149,6 +154,7 @@ void RenderDeferredTask::build(JobModel& task, const render::Varying& input, ren · 12 unmodified lines
149154
150155 task.addJob<RenderDeferred>("RenderDeferred", deferredLightingInputs);
151156
157+
152158 // Similar to light stage, background stage has been filled by several potential render items and resolved for the frame in this job
153159 task.addJob<DrawBackgroundStage>("DrawBackgroundDeferred", lightingModel);
154160
@@ -191,7 +197,7 @@ void RenderDeferredTask::build(JobModel& task, const render::Varying& input, ren · 36 unmodified lines
191197 // Debugging stages
192198 {
193199 // 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));
195201 task.addJob<DebugDeferredBuffer>("DebugDeferredBuffer", debugFramebuffers);
196202
197203 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
217223
218224 task.addJob<DebugZoneLighting>("DrawZoneStack", deferredFrameTransform);
219225 }
220−
226+
221227
222228 // AA job to be revisited
223229 task.addJob<Antialiasing>("Antialiasing", primaryFramebuffer);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t