UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UnrealClient.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 UnrealClient.h: Interface definition for platform specific client code.
5=============================================================================*/
6
7#pragma once
8
9#include "CoreMinimal.h"
10#include "InputKeyEventArgs.h"
12#include "UObject/GCObject.h"
13#include "RenderResource.h"
14#include "HitProxies.h"
19
20class FCanvas;
21class FRDGBuilder;
22class FViewport;
23class FViewportClient;
24class UModel;
25
30{
31public:
32
37
42
49
54
60
61 // Properties.
62 virtual FIntPoint GetSizeXY() const = 0;
63
67 ENGINE_API virtual float GetDisplayGamma() const;
68
69 // return global Engine default gamma (GetDisplayGamma returns this if not overriden)
70 static float GetEngineDisplayGamma();
71
74 virtual bool GetSceneHDREnabled() const { return false; }
75
79 virtual void ProcessToggleFreezeCommand() {};
80
84 virtual bool HasToggleFreezeCommand() { return false; };
85
103
115
122 UE_DEPRECATED(5.4, "Use the other ReadFloat16Pixels variant (ECubeFace can be set in FReadSurfaceDataFlags)")
124
138
152
164
169
170protected:
171
173};
174
175
180{
181public:
182
183 virtual class FViewport* GetViewport() = 0;
185};
186
190#define MAX_HITPROXYSIZE 200
191
194
195
197{
204 static ENGINE_API void RequestScreenshot(bool bInShowUI);
205
215 static ENGINE_API void RequestScreenshot(const FString& InFilename, bool bInShowUI, bool bAddFilenameSuffix, bool bHdrScreenshot = false, const FIntRect& InViewRect = FIntRect());
216
220 static ENGINE_API void Reset();
221
225 static const FString& GetFilename() { return Filename; }
226
230 static bool IsScreenshotRequested() { return bIsScreenshotRequested; }
231
235 static bool ShouldShowUI() { return bShowUI; }
236
240 static FIntRect GetViewRect() { return ViewRect; }
241
246
251
256
258 {
259 return ScreenshotProcessedDelegate;
260 }
261
263 {
264 return ScreenshotCapturedDelegate;
265 }
266
267private:
268 static ENGINE_API FOnScreenshotRequestProcessed ScreenshotProcessedDelegate;
269 static ENGINE_API FOnScreenshotCaptured ScreenshotCapturedDelegate;
270 static ENGINE_API bool bIsScreenshotRequested;
271 static ENGINE_API FString NextScreenshotName;
272 static ENGINE_API FString Filename;
273 static ENGINE_API bool bShowUI;
274 static ENGINE_API TArray<FColor> HighresScreenshotMaskColorArray;
275 static ENGINE_API FIntPoint HighresScreenshotMaskExtents;
276 static ENGINE_API FIntRect ViewRect;
277};
278
279// @param bAutoType true: automatically choose GB/MB/KB/... false: always use MB for easier comparisons
280ENGINE_API FString GetMemoryString( const double Value, const bool bAutoType = true );
281
284{
297 float RHITTime;
299
314
316 double LastTime;
317
318#if !UE_BUILD_SHIPPING
319 static const int32 NumberOfSamples = 200;
320
329#endif
330
332 : RenderThreadTime(0.0f)
334 , GameThreadTime(0.0f)
336 , GPUFrameTime{ 0.0f }
337 , GPUClockFraction{ 0.0f }
338 , GPUUsageFraction{ 0.0f }
340 , FrameTime(0.0f)
341 , RHITTime(0.0f)
342 , InputLatencyTime(0.0f)
343 , RawRenderThreadTime(0.0f)
345 , RawGameThreadTime(0.0f)
347 , RawGPUFrameTime{ 0.0f }
348 , RawGPUClockFraction{ 0.0f }
349 , RawGPUUsageFraction{ 0.0f }
351 , RawFrameTime(0.0f)
352 , RawRHITTime(0.0f)
353 , RawInputLatencyTime(0.0f)
354 , LastTime(0.0)
355 {
356#if !UE_BUILD_SHIPPING
357 CurrentIndex = 0;
361 {
363 }
368 {
369 const DynamicRenderScaling::FBudget& Budget = **BudgetIt;
370 ResolutionFractions[Budget].Reserve(NumberOfSamples);
371 for (int32 i = 0; i < NumberOfSamples; i++)
372 {
373 ResolutionFractions[Budget].Add(-1.0f);
374 }
375 }
376#endif
377 }
378
381};
382
406
411class FViewport : public FRenderTarget, protected FRenderResource
412{
413public:
418
419 // Constructor.
421 // Destructor
422 ENGINE_API virtual ~FViewport();
423
424 //~ Begin FViewport Interface.
425 virtual void* GetWindow() = 0;
427
428 virtual void Destroy() = 0;
429
430 // New MouseCapture/MouseLock API
431 virtual bool HasMouseCapture() const { return false; }
432 virtual bool HasFocus() const { return true; }
433 virtual bool IsForegroundWindow() const { return true; }
434 virtual void CaptureMouse( bool bCapture ) { }
435 virtual void LockMouseToViewport( bool bLock ) { }
436 virtual void ShowCursor( bool bVisible) { }
437 virtual bool UpdateMouseCursor(bool bSetCursor) { return true; }
438
439 virtual void ShowSoftwareCursor( bool bVisible ) { }
441 virtual bool IsSoftwareCursorVisible() const { return false; }
442
448 virtual bool IsCursorVisible() const { return true; }
449
450 virtual bool SetUserFocus(bool bFocus) = 0;
451 virtual bool KeyState(FKey Key) const = 0;
452 virtual int32 GetMouseX() const = 0;
453 virtual int32 GetMouseY() const = 0;
454 virtual void GetMousePos(FIntPoint& MousePosition, const bool bLocalPosition = true) = 0;
455 virtual float GetTabletPressure() { return 0.f; }
456 virtual bool IsPenActive() { return false; }
457 virtual void SetMouse(int32 x, int32 y) = 0;
459 virtual bool IsExclusiveFullscreen() const { return WindowMode == EWindowMode::Fullscreen; }
460 virtual EWindowMode::Type GetWindowMode() const { return WindowMode; }
461 virtual void ProcessInput( float DeltaTime ) = 0;
462
471
480
484 virtual FCanvas* GetDebugCanvas() { return NULL; };
485
489 virtual void SetRequiresVsync(bool bShouldVsync) {}
490
495
500 ENGINE_API virtual void EnqueueBeginRenderFrame(const bool bShouldPresent);
501
506 ENGINE_API virtual void EnqueueEndRenderFrame(const bool bLockToVsync, const bool bShouldPresent);
507
511 ENGINE_API virtual void BeginRenderFrame(FRHICommandListImmediate& RHICmdList);
512
518 ENGINE_API virtual void EndRenderFrame(FRHICommandListImmediate& RHICmdList, bool bPresent, bool bLockToVsync);
519
523 ENGINE_API virtual FRHIGPUMask GetGPUMask(FRHICommandListImmediate& RHICmdList) const override;
524
528 virtual bool IsKeyboardAvailable( int32 ControllerID ) const { return true; }
529
533 virtual bool IsMouseAvailable( int32 ControllerID ) const { return true; }
534
535
539 virtual float GetDesiredAspectRatio() const
540 {
542 return (float)Size.X / (float)Size.Y;
543 }
544
548 virtual void InvalidateDisplay() = 0;
549
555 ENGINE_API void Draw( bool bShouldPresent = true );
556
560 ENGINE_API virtual void DeferInvalidateHitProxy();
561
566
570 ENGINE_API void Invalidate();
571
573
580
586
593
598
605
612
618
626 ENGINE_API FIntRect CalculateViewExtents(float AspectRatio, const FIntRect& ViewRect);
627
637 ENGINE_API static FIntRect CalculateViewExtents(float AspectRatio, float DesiredAspectRatio, const FIntRect& ViewRect, const FIntPoint& DestSize);
638
644
645 //~ Begin FRenderTarget Interface.
646 virtual FIntPoint GetSizeXY() const override { return FIntPoint(SizeX, SizeY); }
648 // Accessors.
650
658
664
668 ENGINE_API virtual void ProcessToggleFreezeCommand() override;
669
673 ENGINE_API virtual bool HasToggleFreezeCommand() override;
674
678 const FViewportRHIRef& GetViewportRHI() const { return ViewportRHI; }
679
684
693 {
694 return InY;
695 }
696
703
706 {
708 }
709
715
717 bool IsSlateViewport() const { return bIsSlateViewport; }
718
720 bool IsHDRViewport() const { return bIsHDR; }
721
723 void SetHDRMode( bool bHDR) { bIsHDR = bHDR; }
724
727
732
734 virtual bool IsStereoRenderingAllowed() const { return false; }
735
738
739 inline FName GetViewportType() const { return ViewportType; }
740
741protected:
742
745
751
755 void HighResScreenshot();
756
759 {
760 public:
761
763 FHitProxyMap();
764
766 ENGINE_API virtual ~FHitProxyMap();
767
770
772 void Release();
773
775 void Invalidate();
776
777 //~ Begin FHitProxyConsumer Interface.
778 virtual void AddHitProxy(HHitProxy* HitProxy) override;
779
780 //~ Begin FRenderTarget Interface.
781 virtual FIntPoint GetSizeXY() const override { return FIntPoint(SizeX, SizeY); }
782
784 virtual void AddReferencedObjects( FReferenceCollector& Collector ) override;
785 virtual FString GetReferencerName() const override;
786
788 const FTextureRHIRef& GetHitProxyCPUTexture(void) const { return HitProxyCPUTexture; }
789
790 private:
791
793 uint32 SizeX;
794
796 uint32 SizeY;
797
800
801 FTextureRHIRef HitProxyCPUTexture;
802 };
803
806
809
812
815
818
821
824
827
830
833
836
839
842
845
848
851
854
857
860
861 //~ Begin FRenderResource Interface.
862 ENGINE_API virtual void ReleaseRHI() override;
863 ENGINE_API virtual void InitRHI(FRHICommandListBase& RHICmdList) override;
864};
865
866// Shortcuts for checking the state of both left&right variations of control keys.
867extern ENGINE_API bool IsCtrlDown(FViewport* Viewport);
868extern ENGINE_API bool IsShiftDown(FViewport* Viewport);
869extern ENGINE_API bool IsAltDown(FViewport* Viewport);
870
874
#define NULL
Definition oodle2base.h:134
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
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
#define X(Name, Desc)
Definition FormatStringSan.h:47
EDisplayColorGamut
Definition GenericPlatformMisc.h:518
EDisplayOutputFormat
Definition GenericPlatformMisc.h:499
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
EPixelFormat
Definition PixelFormat.h:16
@ 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
uint32_t uint32
Definition binka_ue_file_header.h:6
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 RHICommandList.h:4626
Definition RHITypes.h:16
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
virtual void Destroy()=0
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
Definition Array.h:670
SizeType AddZeroed()
Definition Array.h:2755
Definition AssetRegistryState.h:50
void Next()
Definition List.h:21
Definition List.h:55
Definition SharedPointer.h:153
Definition Model.h:401
Type
Definition GenericWindow.h:17
@ Fullscreen
Definition GenericWindow.h:19
@ WindowedFullscreen
Definition GenericWindow.h:21
Definition Color.h:486
Definition InputCoreTypes.h:50
Definition Color.h:48
Definition MultiGPU.h:33
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
Definition IntPoint.h:25