UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SceneUtils.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
9// Colors that are defined for a particular mesh type
10// Each event type will be displayed using the defined color
11#pragma once
12
14#include "RHIFeatureLevel.h"
15
16#include "SceneUtils.generated.h"
17
19
22
23enum class EShadingPath
24{
25 Mobile,
27 Num,
28};
29
34
36{
37 Unset,
40};
41
43UENUM()
45{
46 AAM_None UMETA(DisplayName = "None"),
47 AAM_FXAA UMETA(DisplayName = "Fast Approximate Anti-Aliasing (FXAA)"),
48 AAM_TemporalAA UMETA(DisplayName = "Temporal Anti-Aliasing (TAA)"),
50 AAM_MSAA UMETA(DisplayName = "Multisample Anti-Aliasing (MSAA)"),
51 AAM_TSR UMETA(DisplayName = "Temporal Super-Resolution (TSR)"),
52 AAM_SMAA UMETA(DisplayName = "Subpixel Morphological Anti-Aliasing (SMAA)"),
54};
55
58{
59 return AntiAliasingMethod == AAM_TemporalAA || AntiAliasingMethod == AAM_TSR;
60}
61
67
69
71
73
75{
76 // Custom depth is disabled.
78
79 // Custom depth is enabled.
80 Enabled,
81
82 // Custom depth is enabled and uses stencil.
84};
85
87
92
93// Callback for calling one action (typical use case: delay a clear until it's actually needed)
95{
96public:
97 typedef void (TDelayedFunction)(FRHICommandListImmediate& RHICommandList, void* UserData);
98
100 : Function(nullptr)
101 , UserData(nullptr)
103 {
104 }
105
112
120
121 inline bool HasDelayedFunction() const
122 {
123 return Function != nullptr;
124 }
125
126 inline void RunFunctionOnce(FRHICommandListImmediate& RHICommandList)
127 {
128 if (!bFunctionCalled)
129 {
130 if (Function)
131 {
132 Function(RHICommandList, UserData);
133 }
134 bFunctionCalled = true;
135 }
136 }
137
138 inline bool HasBeenCalled() const
139 {
140 return bFunctionCalled;
141 }
142
143protected:
145 void* UserData;
147};
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define check(expr)
Definition AssertionMacros.h:314
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
#define UENUM(...)
Definition ObjectMacros.h:749
EShaderPlatform
Definition RHIShaderPlatform.h:11
EShadingPath
Definition SceneUtils.h:24
ENGINE_API ECustomDepthMode GetCustomDepthMode()
Definition SceneUtils.cpp:38
EShadingPath GetFeatureLevelShadingPath(FStaticFeatureLevel InFeatureLevel)
Definition SceneUtils.h:30
ENGINE_API uint32 GetDefaultMSAACount(const FStaticFeatureLevel InFeatureLevel, uint32 PlatformMaxSampleCount=8)
Definition SceneUtils.cpp:184
bool IsTemporalAccumulationBasedMethod(EAntiAliasingMethod AntiAliasingMethod)
Definition SceneUtils.h:57
bool IsCustomDepthPassEnabled()
Definition SceneUtils.h:88
ENGINE_API EAntiAliasingMethod GetDefaultAntiAliasingMethod(const FStaticFeatureLevel InFeatureLevel)
Definition SceneUtils.cpp:74
ECustomDepthMode
Definition SceneUtils.h:75
ENGINE_API bool IsMobileColorsRGB()
Definition SceneUtils.cpp:66
ENGINE_API const TCHAR * GetShortAntiAliasingName(EAntiAliasingMethod AntiAliasingMethod)
Definition SceneUtils.cpp:150
ENGINE_API bool IsMobileTonemapSubpassEnabled(EShaderPlatform Platform, bool bMultiViewRendering)
Definition SceneUtils.cpp:54
ENGINE_API bool IsMobilePropagateAlphaEnabled(EShaderPlatform Platform)
Definition SceneUtils.cpp:49
ENGINE_API bool IsMobileTonemapSubpassEnabledInline(EShaderPlatform Platform, bool bMultiViewRendering, uint32 NumMSAASamples)
Definition SceneUtils.cpp:60
EMobileHDRMode
Definition SceneUtils.h:36
EAntiAliasingMethod
Definition SceneUtils.h:45
@ UMETA
Definition SceneUtils.h:46
@ AAM_MAX
Definition SceneUtils.h:53
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 SceneUtils.h:95
bool bFunctionCalled
Definition SceneUtils.h:146
void() TDelayedFunction(FRHICommandListImmediate &RHICommandList, void *UserData)
Definition SceneUtils.h:97
void RunFunctionOnce(FRHICommandListImmediate &RHICommandList)
Definition SceneUtils.h:126
FDelayedRendererAction()
Definition SceneUtils.h:99
bool HasBeenCalled() const
Definition SceneUtils.h:138
void SetDelayedFunction(TDelayedFunction *InFunction, void *InUserData)
Definition SceneUtils.h:113
TDelayedFunction * Function
Definition SceneUtils.h:144
void * UserData
Definition SceneUtils.h:145
bool HasDelayedFunction() const
Definition SceneUtils.h:121
FDelayedRendererAction(TDelayedFunction *InFunction, void *InUserData)
Definition SceneUtils.h:106
Definition RHICommandList.h:4626
@ SM5
Definition RHIFeatureLevel.h:42
@ false
Definition radaudio_common.h:23
Definition AndroidStaticFeatureLevel.inl:12