Fix TAA in editor's debug view modes
This commit is contained in:
@@ -334,6 +334,32 @@ void RenderInner(SceneRenderTask* task, RenderContext& renderContext, RenderCont
|
|||||||
}
|
}
|
||||||
setup.UseTemporalAAJitter = aaMode == AntialiasingMode::TemporalAntialiasing;
|
setup.UseTemporalAAJitter = aaMode == AntialiasingMode::TemporalAntialiasing;
|
||||||
|
|
||||||
|
// Disable TAA jitter in debug modes
|
||||||
|
switch (renderContext.View.Mode)
|
||||||
|
{
|
||||||
|
case ViewMode::Unlit:
|
||||||
|
case ViewMode::Diffuse:
|
||||||
|
case ViewMode::Normals:
|
||||||
|
case ViewMode::Depth:
|
||||||
|
case ViewMode::Emissive:
|
||||||
|
case ViewMode::AmbientOcclusion:
|
||||||
|
case ViewMode::Metalness:
|
||||||
|
case ViewMode::Roughness:
|
||||||
|
case ViewMode::Specular:
|
||||||
|
case ViewMode::SpecularColor:
|
||||||
|
case ViewMode::SubsurfaceColor:
|
||||||
|
case ViewMode::ShadingModel:
|
||||||
|
case ViewMode::Reflections:
|
||||||
|
case ViewMode::GlobalSDF:
|
||||||
|
case ViewMode::GlobalSurfaceAtlas:
|
||||||
|
case ViewMode::LightmapUVsDensity:
|
||||||
|
case ViewMode::MaterialComplexity:
|
||||||
|
case ViewMode::Wireframe:
|
||||||
|
case ViewMode::NoPostFx:
|
||||||
|
setup.UseTemporalAAJitter = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
// Customize setup (by postfx or custom gameplay effects)
|
// Customize setup (by postfx or custom gameplay effects)
|
||||||
renderContext.Task->SetupRender(renderContext);
|
renderContext.Task->SetupRender(renderContext);
|
||||||
for (PostProcessEffect* e : renderContext.List->PostFx)
|
for (PostProcessEffect* e : renderContext.List->PostFx)
|
||||||
@@ -500,8 +526,13 @@ void RenderInner(SceneRenderTask* task, RenderContext& renderContext, RenderCont
|
|||||||
EyeAdaptationPass::Instance()->Render(renderContext, lightBuffer);
|
EyeAdaptationPass::Instance()->Render(renderContext, lightBuffer);
|
||||||
PostProcessingPass::Instance()->Render(renderContext, lightBuffer, tempBuffer, colorGradingLUT);
|
PostProcessingPass::Instance()->Render(renderContext, lightBuffer, tempBuffer, colorGradingLUT);
|
||||||
RenderTargetPool::Release(colorGradingLUT);
|
RenderTargetPool::Release(colorGradingLUT);
|
||||||
RenderTargetPool::Release(lightBuffer);
|
|
||||||
context->ResetRenderTarget();
|
context->ResetRenderTarget();
|
||||||
|
if (aaMode == AntialiasingMode::TemporalAntialiasing)
|
||||||
|
{
|
||||||
|
TAA::Instance()->Render(renderContext, tempBuffer, lightBuffer->View());
|
||||||
|
Swap(lightBuffer, tempBuffer);
|
||||||
|
}
|
||||||
|
RenderTargetPool::Release(lightBuffer);
|
||||||
context->SetRenderTarget(task->GetOutputView());
|
context->SetRenderTarget(task->GetOutputView());
|
||||||
context->SetViewportAndScissors(task->GetOutputViewport());
|
context->SetViewportAndScissors(task->GetOutputViewport());
|
||||||
context->Draw(tempBuffer);
|
context->Draw(tempBuffer);
|
||||||
|
|||||||
Reference in New Issue
Block a user