122 UE_DEPRECATED(5.4,
"Use the other ReadFloat16Pixels variant (ECubeFace can be set in FReadSurfaceDataFlags)")
190#define MAX_HITPROXYSIZE 200
259 return ScreenshotProcessedDelegate;
264 return ScreenshotCapturedDelegate;
270 static ENGINE_API bool bIsScreenshotRequested;
318#if !UE_BUILD_SHIPPING
356#if !UE_BUILD_SHIPPING
873extern ENGINE_API bool GetHighResScreenShotInput(
const TCHAR* Cmd,
FOutputDevice& Ar,
uint32&
OutXRes,
uint32&
OutYRes,
float&
OutResMult,
FIntRect&
OutCaptureRegion,
bool&
OutShouldEnableMask,
bool&
OutDumpBufferVisualizationTargets,
bool&
OutCaptureHDR, FString&
OutFilenameOverride,
bool&
OutUseDateTimeAsFileName);
#define NULL
Definition oodle2base.h:134
#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
#define DECLARE_MULTICAST_DELEGATE(DelegateName)
Definition DelegateCombinations.h:23
#define DECLARE_MULTICAST_DELEGATE_ThreeParams(DelegateName, Param1Type, Param2Type, Param3Type)
Definition DelegateCombinations.h:67
void Init()
Definition LockFreeList.h:4
UE::Math::TIntRect< int32 > FIntRect
Definition MathFwd.h:133
FInt32Point FIntPoint
Definition MathFwd.h:124
#define MAX_NUM_GPUS
Definition MultiGPU.h:25
@ RCM_UNorm
Definition RHIDefinitions.h:799
@ RCM_MinMax
Definition RHIDefinitions.h:805
ECubeFace
Definition RHIDefinitions.h:525
@ CubeFace_MAX
Definition RHIDefinitions.h:532
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
ENGINE_API bool IsCtrlDown(FViewport *Viewport)
Definition UnrealClient.cpp:2253
ENGINE_API bool GetHighResScreenShotInput(const TCHAR *Cmd, FOutputDevice &Ar, uint32 &OutXRes, uint32 &OutYRes, float &OutResMult, FIntRect &OutCaptureRegion, bool &OutShouldEnableMask, bool &OutDumpBufferVisualizationTargets, bool &OutCaptureHDR, FString &OutFilenameOverride, bool &OutUseDateTimeAsFileName)
Definition UnrealClient.cpp:2417
ENGINE_API FString GetMemoryString(const double Value, const bool bAutoType=true)
Definition UnrealClient.cpp:312
ENGINE_API bool GetViewportScreenShot(FViewport *Viewport, TArray< FColor > &Bitmap, const FIntRect &ViewRect=FIntRect(), const FReadSurfaceDataFlags &ReadSurfaceFlags=FReadSurfaceDataFlags())
Definition UnrealClient.cpp:2391
ENGINE_API bool IsShiftDown(FViewport *Viewport)
Definition UnrealClient.cpp:2254
ENGINE_API bool IsAltDown(FViewport *Viewport)
Definition UnrealClient.cpp:2255
ENGINE_API bool GetViewportScreenShotHDR(FViewport *Viewport, TArray< FLinearColor > &Bitmap, const FIntRect &ViewRect=FIntRect(), const FReadSurfaceDataFlags &ReadSurfaceFlags=FReadSurfaceDataFlags(RCM_MinMax))
Definition UnrealClient.cpp:2403
ENGINE_API class FCommonViewportClient * GStatProcessingViewportClient
Definition UnrealClient.cpp:2493
uint32 Size
Definition VulkanMemory.cpp:4034
Definition DynamicRenderScaling.h:83
static RENDERCORE_API TLinkedList< FBudget * > *& GetGlobalList()
Definition DynamicRenderScaling.cpp:162
Definition DynamicRenderScaling.h:172
Definition CanvasTypes.h:211
Definition ViewportClient.h:417
Definition Float16Color.h:13
Definition GCObject.h:128
Definition HitProxies.h:218
Definition NameTypes.h:617
Definition OutputDevice.h:133
Definition RenderGraphBuilder.h:49
Definition RenderGraphResources.h:571
Definition RHICommandList.h:455
Definition UObjectGlobals.h:2492
Definition RenderResource.h:37
Definition UnrealClient.h:30
virtual FRHIGPUMask GetGPUMask(FRHICommandListImmediate &RHICmdList) const
Definition UnrealClient.h:168
FTextureRHIRef RenderTargetTextureRHI
Definition UnrealClient.h:172
virtual void ProcessToggleFreezeCommand()
Definition UnrealClient.h:79
ENGINE_API FRenderTarget()
ENGINE_API bool ReadPixelsPtr(FColor *OutImageBytes, FReadSurfaceDataFlags InFlags=FReadSurfaceDataFlags(RCM_UNorm, CubeFace_MAX), FIntRect InSrcRect=FIntRect(0, 0, 0, 0))
Definition UnrealClient.cpp:74
virtual ENGINE_API bool ReadPixels(TArray< FColor > &OutImageData, FReadSurfaceDataFlags InFlags=FReadSurfaceDataFlags(RCM_UNorm, CubeFace_MAX), FIntRect InSrcRect=FIntRect(0, 0, 0, 0))
Definition UnrealClient.cpp:54
ENGINE_API bool ReadFloat16Pixels(TArray< FFloat16Color > &OutImageData, ECubeFace CubeFace)
Definition UnrealClient.cpp:88
virtual ENGINE_API float GetDisplayGamma() const
Definition UnrealClient.cpp:159
virtual FIntPoint GetSizeXY() const =0
virtual bool GetSceneHDREnabled() const
Definition UnrealClient.h:74
ENGINE_API bool ReadLinearColorPixelsPtr(FLinearColor *OutImageBytes, FReadSurfaceDataFlags InFlags=FReadSurfaceDataFlags(RCM_MinMax, CubeFace_MAX), FIntRect InSrcRect=FIntRect(0, 0, 0, 0))
Definition UnrealClient.cpp:145
virtual EDisplayColorGamut GetDisplayColorGamut() const
Definition UnrealClient.h:72
static float GetEngineDisplayGamma()
Definition UnrealClient.cpp:164
virtual bool HasToggleFreezeCommand()
Definition UnrealClient.h:84
virtual ENGINE_API bool ReadLinearColorPixels(TArray< FLinearColor > &OutImageData, FReadSurfaceDataFlags InFlags=FReadSurfaceDataFlags(RCM_MinMax, CubeFace_MAX), FIntRect InSrcRect=FIntRect(0, 0, 0, 0))
Definition UnrealClient.cpp:122
virtual ENGINE_API const FTextureRHIRef & GetShaderResourceTexture() const
Definition UnrealClient.cpp:201
virtual ENGINE_API ~FRenderTarget()
virtual ENGINE_API const FTextureRHIRef & GetRenderTargetTexture() const
Definition UnrealClient.cpp:186
virtual EDisplayOutputFormat GetDisplayOutputFormat() const
Definition UnrealClient.h:73
virtual ENGINE_API FUnorderedAccessViewRHIRef GetRenderTargetUAV() const
Definition UnrealClient.cpp:196
Definition ViewportClient.h:28
Definition UnrealClient.h:180
virtual class FViewport * GetViewport()=0
virtual void ResizeFrame(uint32 NewSizeX, uint32 NewSizeY, EWindowMode::Type NewWindowMode)=0
Definition UnrealClient.h:759
virtual FIntPoint GetSizeXY() const override
Definition UnrealClient.h:781
void Release()
Definition UnrealClient.cpp:2298
virtual ENGINE_API ~FHitProxyMap()
Definition UnrealClient.cpp:2265
virtual void AddHitProxy(HHitProxy *HitProxy) override
Definition UnrealClient.cpp:2309
virtual void AddReferencedObjects(FReferenceCollector &Collector) override
Definition UnrealClient.cpp:2316
FHitProxyMap()
Definition UnrealClient.cpp:2259
const FTextureRHIRef & GetHitProxyCPUTexture(void) const
Definition UnrealClient.h:788
void Invalidate()
Definition UnrealClient.cpp:2304
const FTextureRHIRef & GetHitProxyTexture(void) const
Definition UnrealClient.h:787
virtual FString GetReferencerName() const override
Definition UnrealClient.cpp:2329
Definition UnrealClient.h:412
virtual ENGINE_API void SetViewportClient(FViewportClient *InViewportClient)
Definition UnrealClient.cpp:2232
virtual float GetDesiredAspectRatio() const
Definition UnrealClient.h:539
virtual bool KeyState(FKey Key) const =0
FViewportRHIRef ViewportRHI
Definition UnrealClient.h:811
virtual ENGINE_API void UpdateViewportRHI(bool bDestroyed, uint32 NewSizeX, uint32 NewSizeY, EWindowMode::Type NewWindowMode, EPixelFormat PreferredPixelFormat)
Definition UnrealClient.cpp:2123
FHitProxyMap HitProxyMap
Definition UnrealClient.h:805
virtual void ProcessInput(float DeltaTime)=0
ENGINE_API bool TakeHighResScreenShot()
Definition UnrealClient.cpp:1432
virtual void * GetWindow()=0
uint32 bHitProxiesCached
Definition UnrealClient.h:835
DECLARE_MULTICAST_DELEGATE_TwoParams(FOnViewportResized, FViewport *, uint32)
uint32 HitProxySize
Definition UnrealClient.h:826
virtual bool HasMouseCapture() const
Definition UnrealClient.h:431
uint32 bIsHDR
Definition UnrealClient.h:847
static bool IsGameRenderingEnabled()
Definition UnrealClient.h:663
virtual void GetMousePos(FIntPoint &MousePosition, const bool bLocalPosition=true)=0
virtual ENGINE_API bool HasToggleFreezeCommand() override
Definition UnrealClient.cpp:2357
const FViewportRHIRef & GetViewportRHI() const
Definition UnrealClient.h:678
virtual ENGINE_API void EnqueueEndRenderFrame(const bool bLockToVsync, const bool bShouldPresent)
Definition UnrealClient.cpp:1697
FIntPoint GetInitialPositionXY() const
Definition UnrealClient.h:647
static ENGINE_API FOnViewportResized ViewportResizedEvent
Definition UnrealClient.h:417
FString AppVersionString
Definition UnrealClient.h:726
bool IsSlateViewport() const
Definition UnrealClient.h:717
virtual ENGINE_API void ReleaseRHI() override
Definition UnrealClient.cpp:2237
virtual void InvalidateDisplay()=0
virtual bool IsStereoRenderingAllowed() const
Definition UnrealClient.h:734
static ENGINE_API void SetGameRenderingEnabled(bool bIsEnabled, int32 PresentAndStopMovieDelay=0)
Definition UnrealClient.cpp:2340
virtual FCanvas * GetDebugCanvas()
Definition UnrealClient.h:484
virtual void MoveWindow(int32 NewPosX, int32 NewPosY, int32 NewSizeX, int32 NewSizeY)=0
virtual void ShowCursor(bool bVisible)
Definition UnrealClient.h:436
virtual void SetRequiresVsync(bool bShouldVsync)
Definition UnrealClient.h:489
void UpdateRenderTargetSurfaceRHIToCurrentBackBuffer()
Definition UnrealClient.cpp:2373
virtual bool IsPenActive()
Definition UnrealClient.h:456
virtual float GetTabletPressure()
Definition UnrealClient.h:455
virtual bool IsKeyboardAvailable(int32 ControllerID) const
Definition UnrealClient.h:528
virtual int32 DrawStatsHUD(FCanvas *InCanvas, const int32 InX, const int32 InY)
Definition UnrealClient.h:692
void SetHDRMode(bool bHDR)
Definition UnrealClient.h:723
virtual FViewportFrame * GetViewportFrame()=0
virtual bool SetUserFocus(bool bFocus)=0
uint32 bIsPlayInEditorViewport
Definition UnrealClient.h:841
virtual bool IsMouseAvailable(int32 ControllerID) const
Definition UnrealClient.h:533
EWindowMode::Type WindowMode
Definition UnrealClient.h:829
virtual bool IsExclusiveFullscreen() const
Definition UnrealClient.h:459
virtual FVector2D VirtualDesktopPixelToViewport(FIntPoint VirtualDesktopPointPx) const =0
ENGINE_API const TArray< FColor > & GetRawHitProxyData(FIntRect InRect)
Definition UnrealClient.cpp:1874
void SetPlayInEditorViewport(bool bInPlayInEditorViewport)
Definition UnrealClient.h:711
bool IsHDRViewport() const
Definition UnrealClient.h:720
uint32 InitialPositionX
Definition UnrealClient.h:814
ENGINE_API void EnumerateHitProxiesInRect(FIntRect InRect, TFunctionRef< bool(HHitProxy *)> InCallback)
Definition UnrealClient.cpp:2100
ENGINE_API void GetHitProxyMap(FIntRect InRect, TArray< HHitProxy * > &OutMap)
Definition UnrealClient.cpp:1970
virtual FIntPoint GetSizeXY() const override
Definition UnrealClient.h:646
ENGINE_API void Draw(bool bShouldPresent=true)
Definition UnrealClient.cpp:1707
uint32 bHasRequestedToggleFreeze
Definition UnrealClient.h:838
ENGINE_API FTypedElementHandle GetElementHandleAtPoint(int32 X, int32 Y)
Definition UnrealClient.cpp:2077
virtual EWindowMode::Type GetWindowMode() const
Definition UnrealClient.h:460
virtual bool IsCursorVisible() const
Definition UnrealClient.h:448
virtual ENGINE_API FRHIGPUMask GetGPUMask(FRHICommandListImmediate &RHICmdList) const override
Definition UnrealClient.cpp:1678
uint32 InitialPositionY
Definition UnrealClient.h:817
uint32 bIsSlateViewport
Definition UnrealClient.h:844
uint32 SizeX
Definition UnrealClient.h:820
FViewportClient * ViewportClient
Definition UnrealClient.h:744
virtual void ShowSoftwareCursor(bool bVisible)
Definition UnrealClient.h:439
FName ViewportType
Definition UnrealClient.h:850
virtual ENGINE_API void EndRenderFrame(FRHICommandListImmediate &RHICmdList, bool bPresent, bool bLockToVsync)
Definition UnrealClient.cpp:1661
ENGINE_API void GetActorsAndModelsInHitProxy(FIntRect InRect, TSet< AActor * > &OutActors, TSet< UModel * > &OutModels)
Definition UnrealClient.cpp:2046
ENGINE_API void GetElementHandlesInRect(FIntRect InRect, FTypedElementListRef OutElementHandles)
Definition UnrealClient.cpp:2086
ENGINE_API void SetInitialSize(FIntPoint InitialSizeXY)
Definition UnrealClient.cpp:2381
FName GetViewportType() const
Definition UnrealClient.h:739
virtual FIntPoint GetRenderTargetTextureSizeXY() const
Definition UnrealClient.h:737
bool bTakeHighResScreenShot
Definition UnrealClient.h:859
virtual void SetMouse(int32 x, int32 y)=0
virtual void LockMouseToViewport(bool bLock)
Definition UnrealClient.h:435
ENGINE_API void Invalidate()
Definition UnrealClient.cpp:1861
virtual ENGINE_API void ProcessToggleFreezeCommand() override
Definition UnrealClient.cpp:2349
ENGINE_API HHitProxy * GetHitProxy(int32 X, int32 Y)
Definition UnrealClient.cpp:1996
virtual FIntPoint ViewportToVirtualDesktopPixel(FVector2D ViewportCoordinate) const =0
virtual int32 GetMouseY() const =0
static int32 PresentAndStopMovieDelay
Definition UnrealClient.h:856
uint32 bRequiresHitProxyStorage
Definition UnrealClient.h:832
virtual ENGINE_API void InitRHI(FRHICommandListBase &RHICmdList) override
Definition UnrealClient.cpp:2244
virtual ENGINE_API void DeferInvalidateHitProxy()
Definition UnrealClient.cpp:1868
virtual int32 GetMouseX() const =0
virtual void CaptureMouse(bool bCapture)
Definition UnrealClient.h:434
static ENGINE_API bool bIsGameRenderingEnabled
Definition UnrealClient.h:853
virtual ENGINE_API void EnqueueBeginRenderFrame(const bool bShouldPresent)
Definition UnrealClient.cpp:1686
ENGINE_API void InvalidateHitProxy()
Definition UnrealClient.cpp:1847
virtual bool IsForegroundWindow() const
Definition UnrealClient.h:433
void HighResScreenshot()
Definition UnrealClient.cpp:1503
virtual bool IsSoftwareCursorVisible() const
Definition UnrealClient.h:441
virtual bool HasFocus() const
Definition UnrealClient.h:432
ENGINE_API FIntRect CalculateViewExtents(float AspectRatio, const FIntRect &ViewRect)
Definition UnrealClient.cpp:2223
virtual bool UpdateMouseCursor(bool bSetCursor)
Definition UnrealClient.h:437
bool IsPlayInEditorViewport() const
Definition UnrealClient.h:705
virtual void SetPreCaptureMousePosFromSlateCursor()
Definition UnrealClient.h:494
virtual ENGINE_API ~FViewport()
Definition UnrealClient.cpp:1428
virtual bool IsFullscreen() const
Definition UnrealClient.h:458
uint32 SizeY
Definition UnrealClient.h:823
TArray< FColor > CachedHitProxyData
Definition UnrealClient.h:808
virtual void SetSoftwareCursorPosition(FVector2D Position)
Definition UnrealClient.h:440
FViewportClient * GetClient() const
Definition UnrealClient.h:649
virtual ENGINE_API void BeginRenderFrame(FRHICommandListImmediate &RHICmdList)
Definition UnrealClient.cpp:1650
Definition HitProxies.h:135
SizeType AddZeroed()
Definition Array.h:2755
Definition AssetRegistryState.h:50
void Next()
Definition List.h:21
Definition SharedPointer.h:153
Type
Definition GenericWindow.h:17
@ Fullscreen
Definition GenericWindow.h:19
@ WindowedFullscreen
Definition GenericWindow.h:21
Definition InputCoreTypes.h:50
static GPUMASK_CONSTEXPR FRHIGPUMask GPU0()
Definition MultiGPU.h:186
Definition UnrealClient.h:197
static FOnScreenshotCaptured & OnScreenshotCaptured()
Definition UnrealClient.h:262
static ENGINE_API FIntPoint & GetHighresScreenshotMaskExtents()
Definition UnrealClient.cpp:306
static ENGINE_API void RequestScreenshot(bool bInShowUI)
Definition UnrealClient.cpp:206
static ENGINE_API void CreateViewportScreenShotFilename(FString &InOutFilename)
Definition UnrealClient.cpp:268
static const FString & GetFilename()
Definition UnrealClient.h:225
static FIntRect GetViewRect()
Definition UnrealClient.h:240
static bool ShouldShowUI()
Definition UnrealClient.h:235
static ENGINE_API TArray< FColor > * GetHighresScreenshotMaskColorArray()
Definition UnrealClient.cpp:301
static FOnScreenshotRequestProcessed & OnScreenshotRequestProcessed()
Definition UnrealClient.h:257
static ENGINE_API void Reset()
Definition UnrealClient.cpp:260
static bool IsScreenshotRequested()
Definition UnrealClient.h:230
Definition UnrealClient.h:385
FStatHitchesData()
Definition UnrealClient.h:394
TArray< float > Hitches
Definition UnrealClient.h:389
int32 Count
Definition UnrealClient.h:392
static const int32 NumHitches
Definition UnrealClient.h:388
TArray< double > When
Definition UnrealClient.h:390
int32 DrawStat(FViewport *InViewport, FCanvas *InCanvas, int32 InX, int32 InY)
Definition UnrealClient.cpp:1343
int32 OverwriteIndex
Definition UnrealClient.h:391
double LastTime
Definition UnrealClient.h:386
Definition UnrealClient.h:284
float RenderThreadTime
Definition UnrealClient.h:286
float GameThreadTimeCriticalPath
Definition UnrealClient.h:289
float RawGPUClockFraction[MAX_NUM_GPUS]
Definition UnrealClient.h:306
uint64 GPUMemoryUsage[MAX_NUM_GPUS]
Definition UnrealClient.h:293
TArray< float > FrameTimes
Definition UnrealClient.h:325
TArray< float > GPUFrameTimes[MAX_NUM_GPUS]
Definition UnrealClient.h:324
float GameThreadTime
Definition UnrealClient.h:288
TArray< float > GameThreadTimes
Definition UnrealClient.h:323
float GPUFrameTime[MAX_NUM_GPUS]
Definition UnrealClient.h:290
float RHITTime
Definition UnrealClient.h:297
TArray< float > InputLatencyTimes
Definition UnrealClient.h:327
uint64 GPUExternalMemoryUsage[MAX_NUM_GPUS]
Definition UnrealClient.h:295
float RenderThreadTimeCriticalPath
Definition UnrealClient.h:287
float RawFrameTime
Definition UnrealClient.h:311
DynamicRenderScaling::TMap< TArray< float > > ResolutionFractions
Definition UnrealClient.h:328
static const int32 NumberOfSamples
Definition UnrealClient.h:319
int32 DrawStat(FViewport *InViewport, FCanvas *InCanvas, int32 InX, int32 InY)
Definition UnrealClient.cpp:350
float RawRenderThreadTime
Definition UnrealClient.h:301
int32 CurrentIndex
Definition UnrealClient.h:321
TArray< float > RHITTimes
Definition UnrealClient.h:326
uint64 RawGPUExternalMemoryUsage[MAX_NUM_GPUS]
Definition UnrealClient.h:310
float RawGPUFrameTime[MAX_NUM_GPUS]
Definition UnrealClient.h:305
FStatUnitData()
UE_BUILD_SHIPPING.
Definition UnrealClient.h:331
float RawRHITTime
Definition UnrealClient.h:312
float RawInputLatencyTime
Definition UnrealClient.h:313
float RawGPUUsageFraction[MAX_NUM_GPUS]
Definition UnrealClient.h:307
float FrameTime
Definition UnrealClient.h:296
float RawGameThreadTimeCriticalPath
Definition UnrealClient.h:304
float GPUExternalUsageFraction[MAX_NUM_GPUS]
Definition UnrealClient.h:294
float RawGPUExternalUsageFraction[MAX_NUM_GPUS]
Definition UnrealClient.h:309
float GPUClockFraction[MAX_NUM_GPUS]
Definition UnrealClient.h:291
float InputLatencyTime
Definition UnrealClient.h:298
TArray< float > RenderThreadTimes
Definition UnrealClient.h:322
float RawGameThreadTime
Definition UnrealClient.h:303
float GPUUsageFraction[MAX_NUM_GPUS]
Definition UnrealClient.h:292
float RawRenderThreadTimeCriticalPath
Definition UnrealClient.h:302
double LastTime
Definition UnrealClient.h:316
uint64 RawGPUMemoryUsage[MAX_NUM_GPUS]
Definition UnrealClient.h:308
Definition TypedElementHandle.h:18