- Transition thumbnail after rendering

#rb simon.tovey, michael.galetzka
#jira UE-153563
#rnx
#preflight 632cfaccd747fe52c87c0111

[CL 22164367 by stu mckenna in ue5-main branch]
This commit is contained in:
stu mckenna
2022-09-23 20:21:19 -04:00
parent 7183fe4980
commit 8831c9d2d6
2 changed files with 13 additions and 2 deletions
@@ -1160,9 +1160,19 @@ void FCascadeEmitterCanvasClient::DrawHeaderBlock(int32 Index, int32 XPos, UPart
if (bNeedsRerender)
{
Thumbnail.Material = MaterialInterface;
// Re-render
FCanvas ThumbnailCanvas(Thumbnail.Texture->GameThread_GetRenderTargetResource(), nullptr, GetWorld(), GetWorld()->FeatureLevel, FCanvas::CDM_DeferDrawing, ShouldDPIScaleSceneCanvas() ? GetDPIScale() : 1.0f);
RenderInfo->Renderer->Draw(MaterialInterface, 0, 0, ScaledSize, ScaledSize, Thumbnail.Texture->GameThread_GetRenderTargetResource(), &ThumbnailCanvas, false);
FTextureRenderTargetResource* ThumbnailRTResource = Thumbnail.Texture->GameThread_GetRenderTargetResource();
FCanvas ThumbnailCanvas(ThumbnailRTResource, nullptr, GetWorld(), GetWorld()->FeatureLevel, FCanvas::CDM_DeferDrawing, ShouldDPIScaleSceneCanvas() ? GetDPIScale() : 1.0f);
RenderInfo->Renderer->Draw(MaterialInterface, 0, 0, ScaledSize, ScaledSize, ThumbnailRTResource, &ThumbnailCanvas, false);
ENQUEUE_RENDER_COMMAND(TransitionThumbnail_RT)
(
[RenderTargetResource=ThumbnailRTResource](FRHICommandListImmediate& RHICmdList)
{
RHICmdList.Transition(FRHITransitionInfo(RenderTargetResource->GetRenderTargetTexture(), ERHIAccess::RTV, ERHIAccess::SRVMask));
}
);
}
Canvas->DrawTile(ThumbPos.X - Origin2D.X, ThumbPos.Y - Origin2D.Y, ThumbSize, ThumbSize, 0.f, 0.f, 1.f, 1.f, FLinearColor::White, Thumbnail.Texture->GameThread_GetRenderTargetResource(), false);