UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PostProcessMaterialInputs.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "ScreenPass.h"
7
9
12
17{
18 // Always Active. Color from the previous stage of the post process chain.
19 SceneColor = 0,
20
21 // Always Active.
23
24 // Replace Tonemap Only. Half resolution combined bloom input.
25 CombinedBloom = 2,
26
27 // Buffer Visualization Only.
30
31 // Active if separate velocity pass is used--i.e. not part of base pass; Not active during Replace Tonemap.
32 Velocity = 4
33};
34
36{
37 Radiance = 0,
39 Albedo = 2,
40 Normal = 3,
41 Variance = 4
42};
43
45{
50
55
62
70
75
80
85
90
91 inline void Validate() const
92 {
94
95 // TODO: Is separate translucency always guaranteeed to be present? A previous version of the code appeared to be attempting to validate this, but
96 // due to a bug (ValidateInputExists ignoring its Input argument and instead validating EPostProcessMaterialInput::SceneColor regardless of
97 // what was passed in), didn't actually do so. I'm afraid to enable this assert now, as I don't know if it will randomly crash some project.
98 // ValidateInputExists(EPostProcessMaterialInput::SeparateTranslucency);
99
100 // Either override output format is valid or the override output texture is; not both.
102 {
103 check(OverrideOutput.Texture == nullptr);
104 }
106 {
108 }
109
110 check(SceneTextures.SceneTextures || SceneTextures.MobileSceneTextures);
111 }
112
117
122
123 // [Optional] Render to the specified output. If invalid, a new texture is created and returned.
125
130
139
144
147
149 bool bManualStencilTest = false;
150
153
156
159
166
168
172};
173
175
177 FRDGBuilder& GraphBuilder,
178 const FSceneView& View,
179 const FPostProcessMaterialInputs& Inputs,
180 const UMaterialInterface* MaterialInterface);
#define check(expr)
Definition AssertionMacros.h:314
EBlendableLocation
Definition BlendableInterface.h:15
@ BL_TranslucencyAfterDOF
Definition BlendableInterface.h:41
@ INDEX_NONE
Definition CoreMiscDefines.h:150
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EPixelFormat
Definition PixelFormat.h:16
@ PF_Unknown
Definition PixelFormat.h:17
const uint32 kPathTracingPostProcessMaterialInputCountMax
Definition PostProcessMaterialInputs.h:11
const uint32 kPostProcessMaterialInputCountMax
Definition PostProcessMaterialInputs.h:10
FScreenPassTexture RENDERER_API AddPostProcessMaterialPass(FRDGBuilder &GraphBuilder, const FSceneView &View, const FPostProcessMaterialInputs &Inputs, const UMaterialInterface *MaterialInterface)
Definition PostProcessMaterial.cpp:986
EPathTracingPostProcessMaterialInput
Definition PostProcessMaterialInputs.h:36
EPostProcessMaterialInput
Definition PostProcessMaterialInputs.h:17
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition RenderGraphBuilder.h:49
Definition RenderGraphResources.h:571
Definition SceneView.h:1425
Definition StaticArray.h:26
Definition MaterialInterface.h:296
static UE_FORCEINLINE_HINT void * Memset(void *Dest, uint8 Char, SIZE_T Count)
Definition UnrealMemory.h:119
Definition PostProcessMaterialInputs.h:45
bool bMetalMSAAHDRDecode
Definition PostProcessMaterialInputs.h:167
FSceneTextureShaderParameters SceneTextures
Definition PostProcessMaterialInputs.h:155
const FSceneWithoutWaterTextures * SceneWithoutWaterTextures
Definition PostProcessMaterialInputs.h:158
bool bManualStencilTest
Definition PostProcessMaterialInputs.h:149
TStaticArray< FScreenPassTextureSlice, kPostProcessMaterialInputCountMax > UserSceneTextures
Definition PostProcessMaterialInputs.h:137
RENDERER_API FScreenPassTexture ReturnUntouchedSceneColorForPostProcessing(FRDGBuilder &GraphBuilder) const
Definition PostProcessMaterial.cpp:1517
void ValidateInputExists(EPostProcessMaterialInput Input) const
Definition PostProcessMaterialInputs.h:113
TStaticArray< FScreenPassTexture, kPathTracingPostProcessMaterialInputCountMax > PathTracingTextures
Definition PostProcessMaterialInputs.h:143
bool bUserSceneTextureFirstRender
Definition PostProcessMaterialInputs.h:170
void SetUserSceneTextureInput(EPostProcessMaterialInput Input, FScreenPassTextureSlice Texture)
Definition PostProcessMaterialInputs.h:63
uint32 UserSceneTextureSceneColorInput
Definition PostProcessMaterialInputs.h:171
void SetPathTracingInput(EPathTracingPostProcessMaterialInput Input, FScreenPassTexture Texture)
Definition PostProcessMaterialInputs.h:81
FPostProcessMaterialInputs()
Definition PostProcessMaterialInputs.h:46
void SetInput(EPostProcessMaterialInput Input, FScreenPassTextureSlice Texture)
Definition PostProcessMaterialInputs.h:56
bool bAllowSceneColorInputAsOutput
Definition PostProcessMaterialInputs.h:165
FScreenPassTextureSlice GetSceneColorOutput(EBlendableLocation BlendableLocation) const
Definition PostProcessMaterialInputs.h:76
EPixelFormat OutputFormat
Definition PostProcessMaterialInputs.h:146
TStaticArray< FScreenPassTextureSlice, kPostProcessMaterialInputCountMax > Textures
Definition PostProcessMaterialInputs.h:129
FRDGTextureRef CustomDepthTexture
Definition PostProcessMaterialInputs.h:152
FScreenPassTexture GetPathTracingInput(EPathTracingPostProcessMaterialInput Input) const
Definition PostProcessMaterialInputs.h:86
void Validate() const
Definition PostProcessMaterialInputs.h:91
FScreenPassTextureSlice GetInput(EPostProcessMaterialInput Input) const
Definition PostProcessMaterialInputs.h:71
void SetInput(FRDGBuilder &GraphBuilder, EPostProcessMaterialInput Input, FScreenPassTexture Texture)
Definition PostProcessMaterialInputs.h:51
TStaticArray< bool, kPostProcessMaterialInputCountMax > bUserSceneTexturesSet
Definition PostProcessMaterialInputs.h:138
bool bUserSceneTextureOutput
Definition PostProcessMaterialInputs.h:169
FScreenPassRenderTarget OverrideOutput
Definition PostProcessMaterialInputs.h:124
Definition SingleLayerWaterRendering.h:32
Definition ScreenPass.h:83
Definition ScreenPass.h:65
static RENDERER_API FScreenPassTextureSlice CreateFromScreenPassTexture(FRDGBuilder &GraphBuilder, const FScreenPassTexture &ScreenTexture)
Definition ScreenPass.cpp:115
Definition ScreenPass.h:41
FRDGTextureRef Texture
Definition ScreenPass.h:59