UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PostProcessDeferredDecals.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "RenderGraph.h"
7#include "SceneView.h"
10
11enum class EDecalRenderStage : uint8;
12enum class EDecalRenderTargetMode : uint8;
13struct FVisibleDecal;
14struct FDBufferTextures;
15struct FSceneTextures;
16class FViewInfo;
17
18DECLARE_UNIFORM_BUFFER_STRUCT(FSceneUniformParameters, RENDERER_API)
19
20bool AreDecalsEnabled(const FSceneViewFamily& ViewFamily);
21bool IsDBufferEnabled(const FSceneViewFamily& ViewFamily, EShaderPlatform ShaderPlatform);
22
29
31{
32 TRDGUniformBufferRef<FDecalPassUniformParameters> DecalPassUniformBuffer = nullptr;
33
34 // Potential render targets for the decal pass.
37 FRDGTextureRef ScreenSpaceAO = nullptr;
42 FDBufferTextures* DBufferTextures = nullptr;
43};
44
46 FRDGBuilder& GraphBuilder,
47 const FViewInfo& View,
48 const FSubstrateSceneData& SubstrateSceneData,
49 const FSceneTextures& SceneTextures,
50 FDBufferTextures* DBufferTextures,
52
54 FRDGBuilder& GraphBuilder,
55 FViewInfo& ViewInfo,
58 FInstanceCullingManager& InstanceCullingManager,
60
69
71
74 SHADER_PARAMETER_RDG_UNIFORM_BUFFER(FSceneUniformParameters, Scene)
80
82 const FSceneTexturesConfig& Config,
83 EDecalRenderTargetMode RenderTargetMode,
85
87 int32 PSOCollectorIndex,
89 const FSceneTexturesConfig& SceneTexturesConfig,
90 const FMaterial& Material,
93
95 FRDGBuilder& GraphBuilder,
96 const FViewInfo& View,
99 EDecalRenderTargetMode RenderTargetMode,
101
103 FRDGBuilder& GraphBuilder,
104 const FScene& Scene,
105 FViewInfo& View,
107 FInstanceCullingManager& InstanceCullingManager,
109
112 FViewInfo& View);
113
115 FRDGBuilder& GraphBuilder,
116 const FSceneTextures& SceneTextures,
117 const TArray<FViewInfo>& Views);
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
EDecalRenderTargetMode
Definition DecalRenderingCommon.h:61
EDecalRenderStage
Definition DecalRenderingCommon.h:36
bool IsDBufferEnabled(const FSceneViewFamily &ViewFamily, EShaderPlatform ShaderPlatform)
Definition PostProcessDeferredDecals.cpp:63
void GetDeferredDecalPassParameters(FRDGBuilder &GraphBuilder, const FViewInfo &View, const FDeferredDecalPassTextures &DecalPassTextures, EDecalRenderStage DecalRenderStage, EDecalRenderTargetMode RenderTargetMode, FDeferredDecalPassParameters &PassParameters)
Definition PostProcessDeferredDecals.cpp:199
FDeferredDecalPassTextures GetDeferredDecalPassTextures(FRDGBuilder &GraphBuilder, const FViewInfo &View, const FSubstrateSceneData &SubstrateSceneData, const FSceneTextures &SceneTextures, FDBufferTextures *DBufferTextures, EDecalRenderStage DecalRenderStage)
Definition PostProcessDeferredDecals.cpp:72
TUniformBufferRef< FDeferredDecalUniformParameters > CreateDeferredDecalUniformBuffer(const FViewInfo &View)
Definition PostProcessDeferredDecals.cpp:293
void CollectDeferredDecalPassPSOInitializers(int32 PSOCollectorIndex, ERHIFeatureLevel::Type FeatureLevel, const FSceneTexturesConfig &SceneTexturesConfig, const FMaterial &Material, EDecalRenderStage DecalRenderStage, TArray< FPSOPrecacheData > &PSOInitializers)
Definition PostProcessDeferredDecals.cpp:540
bool AreDecalsEnabled(const FSceneViewFamily &ViewFamily)
Definition PostProcessDeferredDecals.cpp:58
void AddDeferredDecalPass(FRDGBuilder &GraphBuilder, FViewInfo &ViewInfo, TConstArrayView< const FVisibleDecal * > SortedDecals, const FDeferredDecalPassTextures &Textures, FInstanceCullingManager &InstanceCullingManager, EDecalRenderStage RenderStage)
Definition PostProcessDeferredDecals.cpp:642
void GetDeferredDecalRenderTargetsInfo(const FSceneTexturesConfig &Config, EDecalRenderTargetMode RenderTargetMode, FGraphicsPipelineRenderTargetsInfo &RenderTargetsInfo)
Definition PostProcessDeferredDecals.cpp:129
void RenderMeshDecals(FRDGBuilder &GraphBuilder, const FScene &Scene, FViewInfo &View, const FDeferredDecalPassTextures &DecalPassTextures, FInstanceCullingManager &InstanceCullingManager, EDecalRenderStage DecalRenderStage)
Definition PostProcessMeshDecals.cpp:623
bool HasAnyDrawCommandDecalCount(EDecalRenderStage DecalRenderStage, FViewInfo &View)
Definition PostProcessMeshDecals.cpp:596
void ExtractNormalsForNextFrameReprojection(FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, const TArray< FViewInfo > &Views)
Definition PostProcessDeferredDecals.cpp:823
EShaderPlatform
Definition RHIShaderPlatform.h:11
#define SHADER_PARAMETER_RDG_BUFFER_SRV(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1800
#define SHADER_PARAMETER_TEXTURE(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1708
#define END_GLOBAL_SHADER_PARAMETER_STRUCT
Definition ShaderParameterMacros.h:1669
#define BEGIN_SHADER_PARAMETER_STRUCT(StructTypeName, DllStorage)
Definition ShaderParameterMacros.h:1482
#define SHADER_PARAMETER_STRUCT_REF(StructType, MemberName)
Definition ShaderParameterMacros.h:1909
#define BEGIN_GLOBAL_SHADER_PARAMETER_STRUCT
Definition ShaderParameterMacros.h:1663
#define SHADER_PARAMETER_STRUCT_INCLUDE(StructType, MemberName)
Definition ShaderParameterMacros.h:1895
#define RENDER_TARGET_BINDING_SLOTS()
Definition ShaderParameterMacros.h:1955
#define SHADER_PARAMETER_RDG_UNIFORM_BUFFER(StructType, MemberName)
Definition ShaderParameterMacros.h:1823
#define END_SHADER_PARAMETER_STRUCT()
Definition ShaderParameterMacros.h:1485
#define SHADER_PARAMETER_STRUCT(StructType, MemberName)
Definition ShaderParameterMacros.h:1847
#define SHADER_PARAMETER(MemberType, MemberName)
Definition ShaderParameterMacros.h:1684
#define DECLARE_UNIFORM_BUFFER_STRUCT(StructTypeName, PrefixKeywords)
Definition ShaderParameterStructDeclaration.h:10
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition InstanceCullingManager.h:45
Definition MaterialShared.h:2058
Definition RenderGraphBuilder.h:49
Definition RenderGraphResources.h:571
Definition SceneView.h:2212
const ERHIFeatureLevel::Type FeatureLevel
Definition SceneView.h:1826
Definition ScenePrivate.h:2875
Definition SceneRendering.h:1132
Definition Array.h:670
Definition RenderGraphResources.h:251
Definition ShaderParameterMacros.h:136
Definition SceneComponent.h:24
Definition DBufferTextures.h:35
Definition PostProcessDeferredDecals.h:31
FRDGTextureMSAA Depth
Definition PostProcessDeferredDecals.h:35
Definition RHIResources.h:4547
Definition PSOPrecache.h:226
Definition RenderGraphUtils.h:288
Definition SceneTexturesConfig.h:114
Definition SceneTextures.h:110
Definition Substrate.h:92
Definition DecalRenderingShared.h:25