UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SceneRenderTargetParameters.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "RendererInterface.h"
7
8class FRDGBuilder;
9struct FSceneTextures;
10
11enum class ESceneTexture
12{
13 Color,
14 Depth,
24 SSAO,
26};
27
29
31{
32 None = 0,
33 SceneColor = 1 << 0,
34 SceneDepth = 1 << 1,
35 SceneVelocity = 1 << 2,
36 GBufferA = 1 << 3,
37 GBufferB = 1 << 4,
38 GBufferC = 1 << 5,
39 GBufferD = 1 << 6,
40 GBufferE = 1 << 7,
41 GBufferF = 1 << 8,
42 SSAO = 1 << 9,
43 CustomDepth = 1 << 10,
44 SGGX = 1 << 11,
47};
49
52 FRDGBuilder& GraphBuilder,
53 const FSceneTextures* SceneTextures,
54 ERHIFeatureLevel::Type FeatureLevel,
57
60 FRDGBuilder& GraphBuilder,
61 const FSceneTextures* SceneTextures,
62 ERHIFeatureLevel::Type FeatureLevel,
64
67 FRDGBuilder& GraphBuilder,
68 const FSceneView& View,
70
72{
73 None = 0,
74 SceneColor = 1 << 0,
75 SceneDepth = 1 << 1,
76 CustomDepth = 1 << 2,
77 GBufferA = 1 << 3,
78 GBufferB = 1 << 4,
79 GBufferC = 1 << 5,
80 GBufferD = 1 << 6,
81 SceneDepthAux = 1 << 7,
82 SceneVelocity = 1 << 8,
85};
87
90 FRDGBuilder& GraphBuilder,
91 const FSceneTextures* SceneTextures,
94
97 FRDGBuilder& GraphBuilder,
98 const FSceneTextures* SceneTextures,
100
103 FRDGBuilder& GraphBuilder,
104 const FSceneView& View,
106
109 FRDGBuilder& GraphBuilder,
110 const FSceneTextures* SceneTextures,
111 ERHIFeatureLevel::Type FeatureLevel,
113
116 FRDGBuilder& GraphBuilder,
117 const FSceneView& View,
119
121
126
132{
133public:
135 {
136 return UniformBuffer.IsValid() ? UniformBuffer.GetReference() : MobileUniformBuffer.GetReference();
137 }
138
143
148
150 {
152 Parameters.SceneTextures = UniformBuffer;
153 Parameters.MobileSceneTextures = MobileUniformBuffer;
154 return Parameters;
155 }
156
158 {
159 return Depth ? Depth->GetRHI() : nullptr;
160 }
161
162 RENDERER_API void QueueExtractions(FRDGBuilder& GraphBuilder, const FSceneTextures& SceneTextures);
163
164private:
165 RENDERER_API void Release();
166 void ReleaseRHI() override { Release(); }
167
168 // Contains the resolved scene depth target.
170
171 // Contains the resolved scene depth target.
173
174 // Contains the custom depth targets.
176
177 // Contains RHI scene texture uniform buffers referencing the extracted textures.
180};
181
184
187
192
194extern RENDERER_API void CreateSystemTextures(FRDGBuilder& GraphBuilder);
195
196
198UE_DEPRECATED(5.1, "Single pass multiple view family rendering makes this obsolete. Use ViewFamily.SceneTexturesConfig.IsValid() instead.")
200
202UE_DEPRECATED(5.1, "Single pass multiple view family rendering makes this obsolete. Use ViewFamily.SceneTexturesConfig.Extent instead.")
204
206UE_DEPRECATED(5.1, "Single pass multiple view family rendering makes this obsolete. Use ViewFamily.SceneTexturesConfig.FeatureLevel instead.")
#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 ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
RENDERER_API void SetupMobileSceneTextureUniformParameters(FRDGBuilder &GraphBuilder, const FSceneTextures *SceneTextures, EMobileSceneTextureSetupMode SetupMode, FMobileSceneTextureUniformParameters &SceneTextureParameters)
Definition SceneTextures.cpp:1200
RENDERER_API void CreateSystemTextures(FRDGBuilder &GraphBuilder)
Definition SceneTextures.cpp:1417
RENDERER_API FIntPoint GetSceneTextureExtentFromView(const FViewInfo &View)
Definition SceneTextures.cpp:1407
ESceneTextureSetupMode
Definition SceneRenderTargetParameters.h:31
RENDERER_API bool IsSceneTexturesValid()
Definition SceneTextures.cpp:1397
ESceneTexture
Definition SceneRenderTargetParameters.h:12
RENDERER_API void SetupSceneTextureUniformParameters(FRDGBuilder &GraphBuilder, const FSceneTextures *SceneTextures, ERHIFeatureLevel::Type FeatureLevel, ESceneTextureSetupMode SetupMode, FSceneTextureUniformParameters &OutParameters)
Definition SceneTextures.cpp:1061
RENDERER_API ERHIFeatureLevel::Type GetSceneTextureFeatureLevel()
Definition SceneTextures.cpp:1412
const RENDERER_API FSceneTextureExtracts & GetSceneTextureExtracts()
Definition SceneTextures.cpp:1028
RENDERER_API FSceneTextureShaderParameters GetSceneTextureShaderParameters(const FSceneView &View)
Definition SceneTextures.cpp:1380
RENDERER_API TRDGUniformBufferRef< FSceneTextureUniformParameters > CreateSceneTextureUniformBuffer(FRDGBuilder &GraphBuilder, const FSceneTextures *SceneTextures, ERHIFeatureLevel::Type FeatureLevel, ESceneTextureSetupMode SetupMode=ESceneTextureSetupMode::All)
Definition SceneTextures.cpp:1162
RENDERER_API FRDGTextureRef GetSceneTexture(const FSceneTextures &SceneTextures, ESceneTexture InSceneTexture)
Definition SceneTextures.cpp:1038
RENDERER_API FSceneTextureShaderParameters CreateSceneTextureShaderParameters(FRDGBuilder &GraphBuilder, const FSceneTextures *SceneTextures, ERHIFeatureLevel::Type FeatureLevel, ESceneTextureSetupMode SetupMode=ESceneTextureSetupMode::All)
Definition SceneTextures.cpp:1348
RENDERER_API void ResetSceneTextureExtentHistory()
Definition SceneTextures.cpp:395
RENDERER_API TRDGUniformBufferRef< FMobileSceneTextureUniformParameters > CreateMobileSceneTextureUniformBuffer(FRDGBuilder &GraphBuilder, const FSceneTextures *SceneTextures, EMobileSceneTextureSetupMode SetupMode=EMobileSceneTextureSetupMode::All)
Definition SceneTextures.cpp:1328
RENDERER_API FIntPoint GetSceneTextureExtent()
Definition SceneTextures.cpp:1402
EMobileSceneTextureSetupMode
Definition SceneRenderTargetParameters.h:72
#define BEGIN_SHADER_PARAMETER_STRUCT(StructTypeName, DllStorage)
Definition ShaderParameterMacros.h:1482
#define SHADER_PARAMETER_STRUCT_REF(StructType, MemberName)
Definition ShaderParameterMacros.h:1909
#define END_SHADER_PARAMETER_STRUCT()
Definition ShaderParameterMacros.h:1485
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition UnrealType.h:3087
Definition RenderGraphBuilder.h:49
Definition RenderGraphResources.h:571
bool IsValid() const
Definition RHIResources.h:100
Definition RHIResources.h:2153
Definition RHIResources.h:1232
Definition RenderResource.h:37
Definition SceneRenderTargetParameters.h:132
FSceneTextureExtractsParameters GetShaderParameters() const
Definition SceneRenderTargetParameters.h:149
FRHIUniformBuffer * GetUniformBuffer() const
Definition SceneRenderTargetParameters.h:134
TUniformBufferRef< FSceneTextureUniformParameters > GetUniformBufferRef() const
Definition SceneRenderTargetParameters.h:139
TUniformBufferRef< FMobileSceneTextureUniformParameters > GetMobileUniformBufferRef() const
Definition SceneRenderTargetParameters.h:144
FRHITexture * GetDepthTexture() const
Definition SceneRenderTargetParameters.h:157
Definition SceneView.h:1425
Definition SceneRendering.h:1132
Definition RenderGraphResources.h:251
Definition RefCounting.h:454
Definition ShaderParameterMacros.h:136
Definition SceneComponent.h:24
Type
Definition RHIFeatureLevel.h:20
ESceneTextureSetupMode SetupMode
Definition SceneTextures.h:70
FRDGTextureMSAA PartialDepth
Definition SceneTextures.h:83
TRDGUniformBufferRef< FMobileSceneTextureUniformParameters > MobileUniformBuffer
Definition SceneTextures.h:67
Definition SceneTextures.h:110
Definition IntPoint.h:25