UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PostProcessMotionBlur.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 PostProcessMotionBlur.h: Post process MotionBlur implementation.
5=============================================================================*/
6
7#pragma once
8
9#include "ScreenPass.h"
12
13
14// Returns whether motion blur is enabled for the requested view.
15bool IsMotionBlurEnabled(const FViewInfo& View);
16
17// Returns whether visualization of motion blur is enabled for the requested view.
19
20// The quality level of the motion blur pass.
22{
23 Low,
24 Medium,
25 High,
27 MAX
28};
29
31{
32 Unified,
34};
35
36// Returns whether motion blur also want half res input the scene color's MIP1.
38
39// Returns the global setting for motion blur quality.
41
42// Returns the global setting for motion blur filter.
44
45// Number of simultaneous direction motion blur can blur per tiles.
47
48// Shader parameters for MotionBlurVelocityFlatten.ush when another pass can also generate the FVelocityFlattenTextures
50 SHADER_PARAMETER(FVector2f, VelocityScale)
51 SHADER_PARAMETER(float, VelocityMax)
53
55
56// Textures generated by the velocity flattening pass.
58{
59 static constexpr int32 kMaxVelocityTileTextureCount = 2;
60 static constexpr int32 kTileSize = 16;
61
64
65 bool IsValid() const
66 {
67 return VelocityFlatten.IsValid() && VelocityTileArray.IsValid();
68 }
69
70 // returns whether FVelocityFlattenTextures can be generated in external system.
71 static bool AllowExternal(const FViewInfo& View);
72};
73
75{
76 bool bOutputHalfRes = false;
77 bool bOutputQuarterRes = false;
78
79 // [Optional] Render to the specified output. If invalid, a new texture is created and returned.
81
82 // [Required] The input scene color and view rect.
84
85 // [Required] The input scene depth and view rect.
87
88 // [Required] The input scene velocity and view rect.
90
91 // [Optional] The separate translucency buffer to be composited after motion blur
93
94 // [Required] Quality to use when processing motion blur.
96
97 // [Required] Filter to use when processing motion blur.
99
100 // [Optional] the velocity flatten is can be generated by a earlier pass.
102
103 // [Optional] Lens distortion applied on the scene color.
105};
106
113
114FMotionBlurOutputs AddMotionBlurPass(FRDGBuilder& GraphBuilder, const FViewInfo& View, const FMotionBlurInputs& Inputs);
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
EMotionBlurFilter GetMotionBlurFilter()
Definition PostProcessMotionBlur.cpp:199
FScreenPassTextureSlice AddVisualizeMotionBlurPass(FRDGBuilder &GraphBuilder, const FViewInfo &View, const FMotionBlurInputs &Inputs)
Definition PostProcessMotionBlur.cpp:1175
bool DoesMotionBlurNeedsHalfResInput()
Definition PostProcessMotionBlur.cpp:186
EMotionBlurFilter
Definition PostProcessMotionBlur.h:31
EMotionBlurQuality
Definition PostProcessMotionBlur.h:22
bool IsVisualizeMotionBlurEnabled(const FViewInfo &View)
Definition PostProcessMotionBlur.cpp:148
int32 GetMotionBlurDirections()
Definition PostProcessMotionBlur.cpp:204
bool IsMotionBlurEnabled(const FViewInfo &View)
Definition PostProcessMotionBlur.cpp:128
FMotionBlurOutputs AddMotionBlurPass(FRDGBuilder &GraphBuilder, const FViewInfo &View, const FMotionBlurInputs &Inputs)
Definition PostProcessMotionBlur.cpp:1333
FVelocityFlattenParameters GetVelocityFlattenParameters(const FViewInfo &View)
Definition PostProcessMotionBlur.cpp:613
EMotionBlurQuality GetMotionBlurQuality()
Definition PostProcessMotionBlur.cpp:191
#define BEGIN_SHADER_PARAMETER_STRUCT(StructTypeName, DllStorage)
Definition ShaderParameterMacros.h:1482
#define END_SHADER_PARAMETER_STRUCT()
Definition ShaderParameterMacros.h:1485
#define SHADER_PARAMETER(MemberType, MemberName)
Definition ShaderParameterMacros.h:1684
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition RenderGraphBuilder.h:49
Definition SceneRendering.h:1132
Definition LensDistortion.h:8
Definition PostProcessMotionBlur.h:75
FTranslucencyPassResources PostMotionBlurTranslucency
Definition PostProcessMotionBlur.h:92
EMotionBlurQuality Quality
Definition PostProcessMotionBlur.h:95
FScreenPassTexture SceneVelocity
Definition PostProcessMotionBlur.h:89
FScreenPassTexture SceneDepth
Definition PostProcessMotionBlur.h:86
bool bOutputHalfRes
Definition PostProcessMotionBlur.h:76
FLensDistortionLUT LensDistortionLUT
Definition PostProcessMotionBlur.h:104
FScreenPassTextureSlice SceneColor
Definition PostProcessMotionBlur.h:83
FVelocityFlattenTextures VelocityFlattenTextures
Definition PostProcessMotionBlur.h:101
EMotionBlurFilter Filter
Definition PostProcessMotionBlur.h:98
FScreenPassRenderTarget OverrideOutput
Definition PostProcessMotionBlur.h:80
bool bOutputQuarterRes
Definition PostProcessMotionBlur.h:77
Definition PostProcessMotionBlur.h:108
FScreenPassTexture HalfRes
Definition PostProcessMotionBlur.h:110
FScreenPassTexture QuarterRes
Definition PostProcessMotionBlur.h:111
FScreenPassTextureSlice FullRes
Definition PostProcessMotionBlur.h:109
Definition ScreenPass.h:83
Definition ScreenPass.h:65
Definition ScreenPass.h:41
bool IsValid() const
Definition ScreenPass.inl:114
Definition TranslucentPassResource.h:28
Definition PostProcessMotionBlur.h:58
FScreenPassTexture VelocityFlatten
Definition PostProcessMotionBlur.h:62
FScreenPassTexture VelocityTileArray
Definition PostProcessMotionBlur.h:63
bool IsValid() const
Definition PostProcessMotionBlur.h:65