Skip to content

Commit c486577

Browse files
committed
Fix TAA in editor's debug view modes
1 parent a69c8ce commit c486577

File tree

1 file changed

+32
-1
lines changed

1 file changed

+32
-1
lines changed

Source/Engine/Renderer/Renderer.cpp

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,32 @@ void RenderInner(SceneRenderTask* task, RenderContext& renderContext, RenderCont
334334
}
335335
setup.UseTemporalAAJitter = aaMode == AntialiasingMode::TemporalAntialiasing;
336336

337+
// Disable TAA jitter in debug modes
338+
switch (renderContext.View.Mode)
339+
{
340+
case ViewMode::Unlit:
341+
case ViewMode::Diffuse:
342+
case ViewMode::Normals:
343+
case ViewMode::Depth:
344+
case ViewMode::Emissive:
345+
case ViewMode::AmbientOcclusion:
346+
case ViewMode::Metalness:
347+
case ViewMode::Roughness:
348+
case ViewMode::Specular:
349+
case ViewMode::SpecularColor:
350+
case ViewMode::SubsurfaceColor:
351+
case ViewMode::ShadingModel:
352+
case ViewMode::Reflections:
353+
case ViewMode::GlobalSDF:
354+
case ViewMode::GlobalSurfaceAtlas:
355+
case ViewMode::LightmapUVsDensity:
356+
case ViewMode::MaterialComplexity:
357+
case ViewMode::Wireframe:
358+
case ViewMode::NoPostFx:
359+
setup.UseTemporalAAJitter = false;
360+
break;
361+
}
362+
337363
// Customize setup (by postfx or custom gameplay effects)
338364
renderContext.Task->SetupRender(renderContext);
339365
for (PostProcessEffect* e : renderContext.List->PostFx)
@@ -500,8 +526,13 @@ void RenderInner(SceneRenderTask* task, RenderContext& renderContext, RenderCont
500526
EyeAdaptationPass::Instance()->Render(renderContext, lightBuffer);
501527
PostProcessingPass::Instance()->Render(renderContext, lightBuffer, tempBuffer, colorGradingLUT);
502528
RenderTargetPool::Release(colorGradingLUT);
503-
RenderTargetPool::Release(lightBuffer);
504529
context->ResetRenderTarget();
530+
if (aaMode == AntialiasingMode::TemporalAntialiasing)
531+
{
532+
TAA::Instance()->Render(renderContext, tempBuffer, lightBuffer->View());
533+
Swap(lightBuffer, tempBuffer);
534+
}
535+
RenderTargetPool::Release(lightBuffer);
505536
context->SetRenderTarget(task->GetOutputView());
506537
context->SetViewportAndScissors(task->GetOutputViewport());
507538
context->Draw(tempBuffer);

0 commit comments

Comments
 (0)