UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PostProcessDownsample.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "ScreenPass.h"
6
8
10{
11 None = 0,
12
13 // Forces the downsample pass to run on the raster pipeline, regardless of view settings.
14 ForceRaster = 0x1
15};
17
19{
20 // Single filtered sample (2x2 tap).
21 Low,
22
23 // Four filtered samples (4x4 tap).
24 High,
25
26 MAX
27};
28
29// The set of inputs needed to add a downsample pass to RDG.
31{
33
34 // Friendly name of the pass. Used for logging and profiling.
35 const TCHAR* Name = nullptr;
36
37 // Optional user supplied output buffer.
39
40 // Input scene color RDG texture / view rect. Must not be null.
42
43 // The downsample method to use.
45
46 // Flags to control how the downsample pass is run.
48
49 // The format to use for the output texture (if unknown, the input format is used).
51};
52
53FScreenPassTexture AddDownsamplePass(FRDGBuilder& GraphBuilder, const FViewInfo& View, const FDownsamplePassInputs& Inputs);
54
57
58
60{
61public:
63
64 void Init(
65 FRDGBuilder& GraphBuilder,
66 const FViewInfo& View,
67 const FEyeAdaptationParameters& EyeAdaptationParameters,
68 FScreenPassTextureSlice InputTexture,
70 uint32 StageCount,
71 bool bLogLumaInAlpha,
72 const TCHAR* TextureName = nullptr,
74
75 bool IsInitialized() const
76 {
77 return bInitialized;
78 }
79
81 {
82 return Textures[StageIndex];
83 }
84
86 {
87 return Textures[0];
88 }
89
91 {
92 return Textures.Last();
93 }
94
96 {
97 return Textures.Num();
98 }
99
100private:
102 bool bInitialized = false;
103};
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 ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
void Init()
Definition LockFreeList.h:4
EPixelFormat
Definition PixelFormat.h:16
@ PF_Unknown
Definition PixelFormat.h:17
EDownsampleFlags
Definition PostProcessDownsample.h:10
void AddDownsampleComputePass(FRDGBuilder &GraphBuilder, const FViewInfo &View, FScreenPassTexture Input, FScreenPassTexture Output, EDownsampleQuality Quality, ERDGPassFlags PassFlags)
Definition PostProcessDownsample.cpp:190
EDownsampleQuality
Definition PostProcessDownsample.h:19
FScreenPassTexture AddDownsamplePass(FRDGBuilder &GraphBuilder, const FViewInfo &View, const FDownsamplePassInputs &Inputs)
namespace
Definition PostProcessDownsample.cpp:93
ERDGPassFlags
Definition RenderGraphDefinitions.h:128
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition RenderGraphBuilder.h:49
Definition PostProcessDownsample.h:60
FScreenPassTextureSlice GetFirstTexture() const
Definition PostProcessDownsample.h:85
bool IsInitialized() const
Definition PostProcessDownsample.h:75
FScreenPassTextureSlice GetLastTexture() const
Definition PostProcessDownsample.h:90
uint32 GetStageCount() const
Definition PostProcessDownsample.h:95
FTextureDownsampleChain()=default
FScreenPassTextureSlice GetTexture(uint32 StageIndex) const
Definition PostProcessDownsample.h:80
Definition SceneRendering.h:1132
Definition Array.h:670
UE_REWRITE SizeType Num() const
Definition Array.h:1144
UE_NODEBUG UE_FORCEINLINE_HINT ElementType & Last(SizeType IndexFromTheEnd=0) UE_LIFETIMEBOUND
Definition Array.h:1263
Definition PostProcessDownsample.h:31
EDownsampleQuality Quality
Definition PostProcessDownsample.h:44
FScreenPassTextureSlice SceneColor
Definition PostProcessDownsample.h:41
IPooledRenderTarget * UserSuppliedOutput
Definition PostProcessDownsample.h:38
const TCHAR * Name
Definition PostProcessDownsample.h:35
FDownsamplePassInputs()=default
EDownsampleFlags Flags
Definition PostProcessDownsample.h:47
EPixelFormat FormatOverride
Definition PostProcessDownsample.h:50
Definition ScreenPass.h:65
Definition ScreenPass.h:41
Definition RendererInterface.h:494