UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DecalRenderingCommon.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7#include "RenderUtils.h"
8#include "MeshPassProcessor.h"
9
10class FMaterial;
11class FRHIBlendState;
15
33
36{
37 None = 0,
38
39 // DBuffer decal pass.
41 // GBuffer decal pass.
43
44 // Mobile decal pass with limited functionality.
45 Mobile = 3,
46 // Mobile decal pass for mobile deferred platforms.
48
49 // Emissive decal pass.
50 // DBuffer decals with an emissive component will use this pass.
51 Emissive = 5,
52 // Ambient occlusion decal pass.
53 // A decal can write regular attributes in another pass and then AO in this pass.
55
56 Num,
57};
58
61{
62 None = 0,
63
64 DBuffer = 1,
66 // GBuffer with no normal is necessary for decals sampling the normal from the GBuffer.
68 SceneColor = 4,
70
71 Num,
72};
73
76{
78 CCW,
79 CW,
80};
81
85namespace DecalRendering
86{
89
92
95
98
101
104
107
110
113
116
119
122
125
128
131};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EDecalRasterizerState
Definition DecalRenderingCommon.h:76
EDecalRenderTargetMode
Definition DecalRenderingCommon.h:61
EDecalRenderStage
Definition DecalRenderingCommon.h:36
EShaderPlatform
Definition RHIShaderPlatform.h:11
EShadingPath
Definition SceneUtils.h:24
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition MaterialShared.h:2058
Definition RHIResources.h:696
Definition RHIResources.h:679
Definition DecalRenderingCommon.cpp:14
EDecalRasterizerState GetDecalRasterizerState(bool bInsideDecal, bool bIsInverted, bool ViewReverseCulling)
Definition DecalRenderingCommon.cpp:928
bool IsCompatibleWithRenderTargetMode(uint8 DecalRenderTargetModeMask, EDecalRenderTargetMode DecalRenderTargetMode)
Definition DecalRenderingCommon.cpp:211
uint32 GetRenderTargetCount(FDecalBlendDesc DecalBlendDesc, EDecalRenderTargetMode RenderTargetMode)
Definition DecalRenderingCommon.cpp:279
EMeshPass::Type GetMeshPassType(EDecalRenderTargetMode RenderTargetMode)
Definition DecalRenderingCommon.cpp:216
bool IsCompatibleWithRenderStage(FDecalBlendDesc DecalBlendDesc, EDecalRenderStage DecalRenderStage)
Definition DecalRenderingCommon.cpp:164
EDecalRenderTargetMode GetRenderTargetMode(FDecalBlendDesc DecalBlendDesc, EDecalRenderStage DecalRenderStage)
Definition DecalRenderingCommon.cpp:258
FDecalBlendDesc ComputeDecalBlendDesc(EShaderPlatform Platform, const FMaterial &Material)
Definition DecalRenderingCommon.cpp:96
uint32 GetRenderTargetWriteMask(FDecalBlendDesc DecalBlendDesc, EDecalRenderStage DecalRenderStage, EDecalRenderTargetMode RenderTargetMode)
Definition DecalRenderingCommon.cpp:298
uint8 GetDecalRenderTargetModeMask(const FMaterial &Material, ERHIFeatureLevel::Type FeatureLevel)
Definition DecalRenderingCommon.cpp:191
EDecalRenderStage GetBaseRenderStage(FDecalBlendDesc DecalBlendDesc)
Definition DecalRenderingCommon.cpp:169
EDecalRenderStage GetRenderStage(EDecalRenderTargetMode RenderTargetMode, EShadingPath ShadingPath)
Definition DecalRenderingCommon.cpp:237
void ModifyCompilationEnvironment(EShaderPlatform Platform, FDecalBlendDesc DecalBlendDesc, EDecalRenderStage DecalRenderStage, FShaderCompilerEnvironment &OutEnvironment)
Definition DecalRenderingCommon.cpp:959
FRHIBlendState * GetDecalBlendState(FDecalBlendDesc DecalBlendDesc, EDecalRenderStage DecalRenderStage, EDecalRenderTargetMode RenderTargetMode)
Definition DecalRenderingCommon.cpp:905
Type
Definition MeshPassProcessor.h:38
Type
Definition RHIFeatureLevel.h:20
Definition MaterialShared.h:1181
Definition ShaderCore.h:544
Definition DecalRenderingCommon.h:18
uint32 bWriteNormal
Definition DecalRenderingCommon.h:26
uint32 BlendMode
Definition DecalRenderingCommon.h:23
uint32 bWriteEmissive
Definition DecalRenderingCommon.h:28
uint32 Packed
Definition DecalRenderingCommon.h:19
uint32 bWriteRoughnessSpecularMetallic
Definition DecalRenderingCommon.h:27
uint32 RenderStageMask
Definition DecalRenderingCommon.h:24
uint32 bWriteAmbientOcclusion
Definition DecalRenderingCommon.h:29
uint32 bWriteBaseColor
Definition DecalRenderingCommon.h:25
uint32 bWriteDBufferMask
Definition DecalRenderingCommon.h:30