UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ISlate3DRenderer.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6
8class FRDGBuilder;
11
12class ISlate3DRenderer : public TSharedFromThis<ISlate3DRenderer, ESPMode::ThreadSafe>
13{
14public:
15 virtual ~ISlate3DRenderer() = default;
16
17public:
20 {
22 : SlateRenderer(InSlateRenderer)
24 , bDeferRenderTargetUpdate(bInDeferRenderTargetUpdate)
25 {
26 }
28 {
29 if (!bDeferRenderTargetUpdate)
30 {
31 SlateRenderer.ReleaseDrawBuffer(DrawBuffer);
32 }
33 }
36
38 {
39 return DrawBuffer;
40 }
41
42 private:
43 ISlate3DRenderer& SlateRenderer;
44 FSlateDrawBuffer& DrawBuffer;
45 bool bDeferRenderTargetUpdate;
46 };
47
51
53 UE_DEPRECATED(5.1, "Use ISlate3DRenderer::AcquireDrawBuffer instead and release the draw buffer.")
58
61
64
71 virtual void DrawWindow_GameThread(FSlateDrawBuffer& DrawBuffer) = 0;
72
80 virtual void DrawWindowToTarget_RenderThread(FRDGBuilder& GraphBuilder, const struct FRenderThreadUpdateContext& Context) = 0;
81
82 UE_DEPRECATED(5.5, "Use the RDG version instead.")
84};
85
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
TSharedPtr< ISlate3DRenderer, ESPMode::ThreadSafe > ISlate3DRendererPtr
Definition ISlate3DRenderer.h:86
Definition RenderGraphBuilder.h:49
Definition RHICommandList.h:4626
Definition SlateDrawBuffer.h:20
Definition TextureResource.h:433
Definition ISlate3DRenderer.h:13
virtual ~ISlate3DRenderer()=default
virtual void SetApplyColorDeficiencyCorrection(bool bApplyColorCorrection)=0
virtual void SetUseGammaCorrection(bool bUseGammaCorrection)=0
virtual void ReleaseDrawBuffer(FSlateDrawBuffer &InWindowDrawBuffer)=0
virtual FSlateDrawBuffer & GetDrawBuffer()
Definition ISlate3DRenderer.h:54
virtual void DrawWindow_GameThread(FSlateDrawBuffer &DrawBuffer)=0
virtual void DrawWindowToTarget_RenderThread(FRDGBuilder &GraphBuilder, const struct FRenderThreadUpdateContext &Context)=0
virtual FSlateDrawBuffer & AcquireDrawBuffer()=0
Definition SharedPointer.h:1640
Definition SharedPointer.h:692
Definition SlateRenderer.h:35
Definition ISlate3DRenderer.h:20
FScopedAcquireDrawBuffer(const FScopedAcquireDrawBuffer &)=delete
FScopedAcquireDrawBuffer & operator=(const FScopedAcquireDrawBuffer &)=delete
FSlateDrawBuffer & GetDrawBuffer()
Definition ISlate3DRenderer.h:37
~FScopedAcquireDrawBuffer()
Definition ISlate3DRenderer.h:27
FScopedAcquireDrawBuffer(ISlate3DRenderer &InSlateRenderer, bool bInDeferRenderTargetUpdate=false)
Definition ISlate3DRenderer.h:21