UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
StereoRenderTargetManager.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc.All Rights Reserved.
2
3/*=============================================================================
4StereoRenderTargetManager.h: Abstract interface returned from IStereoRendering to support rendering into a texture
5=============================================================================*/
6
7#pragma once
8#include "CoreMinimal.h"
10#include "PixelFormat.h"
11
12class FRHITexture;
13enum class ETextureCreateFlags : uint64;
16
23{
24public:
31 virtual bool ShouldUseSeparateRenderTarget() const = 0;
32
40 virtual void UpdateViewport(bool bUseSeparateRenderTarget, const class FViewport& Viewport, class SViewport* ViewportWidget = nullptr) = 0;
41
45 virtual void CalculateRenderTargetSize(const class FViewport& Viewport, uint32& InOutSizeX, uint32& InOutSizeY) = 0;
46
50 virtual bool NeedReAllocateViewportRenderTarget(const class FViewport& Viewport) = 0;
51
55 UE_DEPRECATED(5.2, "Return true in NeedReAllocateViewportRenderTarget instead")
56 virtual bool NeedReAllocateDepthTexture(const TRefCountPtr<struct IPooledRenderTarget>& DepthTarget) { return false; }
57
62
66 UE_DEPRECATED(5.2, "Inferred from the array size returned in AllocateRenderTargetTextures")
68
76 UE_DEPRECATED(5.2, "Implement AllocateRenderTargetTextures to allocate all textures at once")
78
86
91
97 virtual int32 AcquireColorTexture() { return -1; }
98
104 virtual int32 AcquireDepthTexture() { return -1; }
105
113
122
133
140
149
162 virtual bool GetMotionVectorTexture(uint32 Index, const FIntPoint& Size, uint8 Format, uint32 NumMips, ETextureCreateFlags Flags, FTextureRHIRef& OutTexture, uint32 NumSamples = 1) { return false; }
163
177
179};
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
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
EDisplayColorGamut
Definition GenericPlatformMisc.h:518
EDisplayOutputFormat
Definition GenericPlatformMisc.h:499
EPixelFormat
Definition PixelFormat.h:16
@ PF_Unknown
Definition PixelFormat.h:17
@ PF_B8G8R8A8
Definition PixelFormat.h:19
ETextureCreateFlags
Definition RHIDefinitions.h:1091
EShaderPlatform
Definition RHIShaderPlatform.h:11
TRefCountPtr< FRHITexture > FTextureRHIRef
Definition StereoRenderTargetManager.h:15
uint32 Size
Definition VulkanMemory.cpp:4034
uint8_t uint8
Definition binka_ue_file_header.h:8
uint16_t uint16
Definition binka_ue_file_header.h:7
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition RHIResources.h:2153
Definition UnrealClient.h:412
Definition StereoRenderTargetManager.h:23
virtual bool AllocateDepthTexture(uint32 Index, uint32 SizeX, uint32 SizeY, uint8 Format, uint32 NumMips, ETextureCreateFlags Flags, ETextureCreateFlags TargetableTextureFlags, FTextureRHIRef &OutTargetableTexture, FTextureRHIRef &OutShaderResourceTexture, uint32 NumSamples=1)
Definition StereoRenderTargetManager.h:112
virtual int32 AcquireColorTexture()
Definition StereoRenderTargetManager.h:97
static EPixelFormat GetStereoLayerPixelFormat()
Definition StereoRenderTargetManager.h:178
virtual uint32 GetNumberOfBufferedFrames() const
Definition StereoRenderTargetManager.h:67
virtual bool AllocateRenderTargetTexture(uint32 Index, uint32 SizeX, uint32 SizeY, uint8 Format, uint32 NumMips, ETextureCreateFlags Flags, ETextureCreateFlags TargetableTextureFlags, FTextureRHIRef &OutTargetableTexture, FTextureRHIRef &OutShaderResourceTexture, uint32 NumSamples=1)
Definition StereoRenderTargetManager.h:77
virtual bool GetMotionVectorDepthTexture(uint32 Index, const FIntPoint &Size, uint8 Format, uint32 NumMips, ETextureCreateFlags Flags, FTextureRHIRef &OutTexture, uint32 NumSamples=1)
Definition StereoRenderTargetManager.h:176
virtual bool ShouldUseSeparateRenderTarget() const =0
virtual bool ReconfigureForShaderPlatform(EShaderPlatform NewShaderPlatform)
Definition StereoRenderTargetManager.h:139
virtual bool HDRGetMetaDataForStereo(EDisplayOutputFormat &OutDisplayOutputFormat, EDisplayColorGamut &OutDisplayColorGamut, bool &OutbHDRSupported)
Definition StereoRenderTargetManager.h:132
virtual void CalculateRenderTargetSize(const class FViewport &Viewport, uint32 &InOutSizeX, uint32 &InOutSizeY)=0
virtual bool NeedReAllocateViewportRenderTarget(const class FViewport &Viewport)=0
virtual bool GetRecommendedMotionVectorTextureSize(FIntPoint &OutTextureSize)
Definition StereoRenderTargetManager.h:148
virtual bool NeedReAllocateShadingRateTexture(const TRefCountPtr< struct IPooledRenderTarget > &ShadingRateTarget)
Definition StereoRenderTargetManager.h:61
virtual bool AllocateShadingRateTexture(uint32 Index, uint32 RenderSizeX, uint32 RenderSizeY, uint8 Format, uint32 NumMips, ETextureCreateFlags Flags, ETextureCreateFlags TargetableTextureFlags, FTextureRHIRef &OutTexture, FIntPoint &OutTextureSize)
Definition StereoRenderTargetManager.h:121
virtual bool GetMotionVectorTexture(uint32 Index, const FIntPoint &Size, uint8 Format, uint32 NumMips, ETextureCreateFlags Flags, FTextureRHIRef &OutTexture, uint32 NumSamples=1)
Definition StereoRenderTargetManager.h:162
virtual EPixelFormat GetActualColorSwapchainFormat() const
Definition StereoRenderTargetManager.h:90
virtual int32 AcquireDepthTexture()
Definition StereoRenderTargetManager.h:104
virtual bool NeedReAllocateDepthTexture(const TRefCountPtr< struct IPooledRenderTarget > &DepthTarget)
Definition StereoRenderTargetManager.h:56
virtual bool AllocateRenderTargetTextures(uint32 SizeX, uint32 SizeY, uint8 Format, uint32 NumLayers, ETextureCreateFlags Flags, ETextureCreateFlags TargetableTextureFlags, TArray< FTextureRHIRef > &OutTargetableTextures, TArray< FTextureRHIRef > &OutShaderResourceTextures, uint32 NumSamples=1)
Definition StereoRenderTargetManager.h:85
virtual void UpdateViewport(bool bUseSeparateRenderTarget, const class FViewport &Viewport, class SViewport *ViewportWidget=nullptr)=0
Definition SViewport.h:31
Definition Array.h:670
Definition RefCounting.h:454
U16 Index
Definition radfft.cpp:71
Definition RendererInterface.h:494
Definition IntPoint.h:25