UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PostProcessMeshDecals.cpp File Reference

Classes

class  FMeshDecalsVS
 
class  FMeshDecalsPS
 
class  FMeshDecalsEmissivePS
 
class  FMeshDecalsAmbientOcclusionPS
 
class  FMeshDecalMeshProcessor
 

Functions

 IMPLEMENT_MATERIAL_SHADER_TYPE (, FMeshDecalsVS, TEXT("/Engine/Private/MeshDecals.usf"), TEXT("MainVS"), SF_Vertex)
 
 IMPLEMENT_MATERIAL_SHADER_TYPE (, FMeshDecalsPS, TEXT("/Engine/Private/MeshDecals.usf"), TEXT("MainPS"), SF_Pixel)
 
 IMPLEMENT_MATERIAL_SHADER_TYPE (, FMeshDecalsEmissivePS, TEXT("/Engine/Private/MeshDecals.usf"), TEXT("MainPS"), SF_Pixel)
 
 IMPLEMENT_MATERIAL_SHADER_TYPE (, FMeshDecalsAmbientOcclusionPS, TEXT("/Engine/Private/MeshDecals.usf"), TEXT("MainPS"), SF_Pixel)
 
 IMPLEMENT_STATIC_UNIFORM_BUFFER_SLOT (DeferredDecals)
 
 IMPLEMENT_STATIC_UNIFORM_BUFFER_STRUCT (FDeferredDecalUniformParameters, "DeferredDecal", DeferredDecals)
 
FMeshPassProcessorCreateMeshDecalDBufferMeshProcessor (ERHIFeatureLevel::Type FeatureLevel, const FScene *Scene, const FSceneView *InViewIfDynamicMeshCommand, FMeshPassDrawListContext *InDrawListContext)
 
FMeshPassProcessorCreateMeshDecalSceneColorAndGBufferMeshProcessor (ERHIFeatureLevel::Type FeatureLevel, const FScene *Scene, const FSceneView *InViewIfDynamicMeshCommand, FMeshPassDrawListContext *InDrawListContext)
 
FMeshPassProcessorCreateMeshDecalSceneColorAndGBufferNoNormalMeshProcessor (ERHIFeatureLevel::Type FeatureLevel, const FScene *Scene, const FSceneView *InViewIfDynamicMeshCommand, FMeshPassDrawListContext *InDrawListContext)
 
FMeshPassProcessorCreateMeshDecalSceneColorMeshProcessor (ERHIFeatureLevel::Type FeatureLevel, const FScene *Scene, const FSceneView *InViewIfDynamicMeshCommand, FMeshPassDrawListContext *InDrawListContext)
 
FMeshPassProcessorCreateMeshDecalAmbientOcclusionProcessor (ERHIFeatureLevel::Type FeatureLevel, const FScene *Scene, const FSceneView *InViewIfDynamicMeshCommand, FMeshPassDrawListContext *InDrawListContext)
 
 REGISTER_MESHPASSPROCESSOR_AND_PSOCOLLECTOR (MeshDecalPass_DBuffer, CreateMeshDecalDBufferMeshProcessor, EShadingPath::Deferred, EMeshPass::MeshDecal_DBuffer, EMeshPassFlags::CachedMeshCommands|EMeshPassFlags::MainView)
 
 REGISTER_MESHPASSPROCESSOR_AND_PSOCOLLECTOR (MeshDecal_SceneColorAndGBuffer, CreateMeshDecalSceneColorAndGBufferMeshProcessor, EShadingPath::Deferred, EMeshPass::MeshDecal_SceneColorAndGBuffer, EMeshPassFlags::CachedMeshCommands|EMeshPassFlags::MainView)
 
 REGISTER_MESHPASSPROCESSOR_AND_PSOCOLLECTOR (MeshDecal_SceneColorAndGBufferNoNormal, CreateMeshDecalSceneColorAndGBufferNoNormalMeshProcessor, EShadingPath::Deferred, EMeshPass::MeshDecal_SceneColorAndGBufferNoNormal, EMeshPassFlags::CachedMeshCommands|EMeshPassFlags::MainView)
 
 REGISTER_MESHPASSPROCESSOR_AND_PSOCOLLECTOR (MeshDecal_SceneColor, CreateMeshDecalSceneColorMeshProcessor, EShadingPath::Deferred, EMeshPass::MeshDecal_SceneColor, EMeshPassFlags::CachedMeshCommands|EMeshPassFlags::MainView)
 
 REGISTER_MESHPASSPROCESSOR_AND_PSOCOLLECTOR (MeshDecal_AmbientOcclusion, CreateMeshDecalAmbientOcclusionProcessor, EShadingPath::Deferred, EMeshPass::MeshDecal_AmbientOcclusion, EMeshPassFlags::CachedMeshCommands|EMeshPassFlags::MainView)
 
FMeshPassProcessorCreateMeshDecalSceneColorAndGBufferMeshProcessor_Mobile (ERHIFeatureLevel::Type FeatureLevel, const FScene *Scene, const FSceneView *InViewIfDynamicMeshCommand, FMeshPassDrawListContext *InDrawListContext)
 
FMeshPassProcessorCreateMeshDecalSceneColorMeshProcessor_Mobile (ERHIFeatureLevel::Type FeatureLevel, const FScene *Scene, const FSceneView *InViewIfDynamicMeshCommand, FMeshPassDrawListContext *InDrawListContext)
 
FMeshPassProcessorCreateMeshDecalDBufferMeshProcessor_Mobile (ERHIFeatureLevel::Type FeatureLevel, const FScene *Scene, const FSceneView *InViewIfDynamicMeshCommand, FMeshPassDrawListContext *InDrawListContext)
 
 REGISTER_MESHPASSPROCESSOR_AND_PSOCOLLECTOR (Mobile_MeshDecal_SceneColorAndGBuffer, CreateMeshDecalSceneColorAndGBufferMeshProcessor_Mobile, EShadingPath::Mobile, EMeshPass::MeshDecal_SceneColorAndGBuffer, EMeshPassFlags::CachedMeshCommands|EMeshPassFlags::MainView)
 
 REGISTER_MESHPASSPROCESSOR_AND_PSOCOLLECTOR (Mobile_MeshDecal_SceneColor, CreateMeshDecalSceneColorMeshProcessor_Mobile, EShadingPath::Mobile, EMeshPass::MeshDecal_SceneColor, EMeshPassFlags::CachedMeshCommands|EMeshPassFlags::MainView)
 
 REGISTER_MESHPASSPROCESSOR_AND_PSOCOLLECTOR (Mobile_MeshDecal_DBuffer, CreateMeshDecalDBufferMeshProcessor_Mobile, EShadingPath::Mobile, EMeshPass::MeshDecal_DBuffer, EMeshPassFlags::CachedMeshCommands|EMeshPassFlags::MainView)
 
void DrawDecalMeshCommands (FRDGBuilder &GraphBuilder, const FScene &Scene, FViewInfo &View, const FDeferredDecalPassTextures &DecalPassTextures, FInstanceCullingManager &InstanceCullingManager, EDecalRenderStage DecalRenderStage, EDecalRenderTargetMode RenderTargetMode)
 
bool HasAnyDrawCommandDecalCount (EDecalRenderStage DecalRenderStage, FViewInfo &View)
 
void RenderMeshDecals (FRDGBuilder &GraphBuilder, const FScene &Scene, FViewInfo &View, const FDeferredDecalPassTextures &DecalPassTextures, FInstanceCullingManager &InstanceCullingManager, EDecalRenderStage DecalRenderStage)
 

Function Documentation

◆ CreateMeshDecalAmbientOcclusionProcessor()

FMeshPassProcessor * CreateMeshDecalAmbientOcclusionProcessor ( ERHIFeatureLevel::Type  FeatureLevel,
const FScene Scene,
const FSceneView InViewIfDynamicMeshCommand,
FMeshPassDrawListContext InDrawListContext 
)

◆ CreateMeshDecalDBufferMeshProcessor()

FMeshPassProcessor * CreateMeshDecalDBufferMeshProcessor ( ERHIFeatureLevel::Type  FeatureLevel,
const FScene Scene,
const FSceneView InViewIfDynamicMeshCommand,
FMeshPassDrawListContext InDrawListContext 
)

◆ CreateMeshDecalDBufferMeshProcessor_Mobile()

FMeshPassProcessor * CreateMeshDecalDBufferMeshProcessor_Mobile ( ERHIFeatureLevel::Type  FeatureLevel,
const FScene Scene,
const FSceneView InViewIfDynamicMeshCommand,
FMeshPassDrawListContext InDrawListContext 
)

◆ CreateMeshDecalSceneColorAndGBufferMeshProcessor()

FMeshPassProcessor * CreateMeshDecalSceneColorAndGBufferMeshProcessor ( ERHIFeatureLevel::Type  FeatureLevel,
const FScene Scene,
const FSceneView InViewIfDynamicMeshCommand,
FMeshPassDrawListContext InDrawListContext 
)

◆ CreateMeshDecalSceneColorAndGBufferMeshProcessor_Mobile()

FMeshPassProcessor * CreateMeshDecalSceneColorAndGBufferMeshProcessor_Mobile ( ERHIFeatureLevel::Type  FeatureLevel,
const FScene Scene,
const FSceneView InViewIfDynamicMeshCommand,
FMeshPassDrawListContext InDrawListContext 
)

◆ CreateMeshDecalSceneColorAndGBufferNoNormalMeshProcessor()

FMeshPassProcessor * CreateMeshDecalSceneColorAndGBufferNoNormalMeshProcessor ( ERHIFeatureLevel::Type  FeatureLevel,
const FScene Scene,
const FSceneView InViewIfDynamicMeshCommand,
FMeshPassDrawListContext InDrawListContext 
)

◆ CreateMeshDecalSceneColorMeshProcessor()

FMeshPassProcessor * CreateMeshDecalSceneColorMeshProcessor ( ERHIFeatureLevel::Type  FeatureLevel,
const FScene Scene,
const FSceneView InViewIfDynamicMeshCommand,
FMeshPassDrawListContext InDrawListContext 
)

◆ CreateMeshDecalSceneColorMeshProcessor_Mobile()

FMeshPassProcessor * CreateMeshDecalSceneColorMeshProcessor_Mobile ( ERHIFeatureLevel::Type  FeatureLevel,
const FScene Scene,
const FSceneView InViewIfDynamicMeshCommand,
FMeshPassDrawListContext InDrawListContext 
)

◆ DrawDecalMeshCommands()

void DrawDecalMeshCommands ( FRDGBuilder GraphBuilder,
const FScene Scene,
FViewInfo View,
const FDeferredDecalPassTextures DecalPassTextures,
FInstanceCullingManager InstanceCullingManager,
EDecalRenderStage  DecalRenderStage,
EDecalRenderTargetMode  RenderTargetMode 
)

◆ HasAnyDrawCommandDecalCount()

bool HasAnyDrawCommandDecalCount ( EDecalRenderStage  DecalRenderStage,
FViewInfo View 
)

◆ IMPLEMENT_MATERIAL_SHADER_TYPE() [1/4]

IMPLEMENT_MATERIAL_SHADER_TYPE ( FMeshDecalsAmbientOcclusionPS  ,
TEXT("/Engine/Private/MeshDecals.usf" ,
TEXT("MainPS")  ,
SF_Pixel   
)

◆ IMPLEMENT_MATERIAL_SHADER_TYPE() [2/4]

IMPLEMENT_MATERIAL_SHADER_TYPE ( FMeshDecalsEmissivePS  ,
TEXT("/Engine/Private/MeshDecals.usf" ,
TEXT("MainPS")  ,
SF_Pixel   
)

◆ IMPLEMENT_MATERIAL_SHADER_TYPE() [3/4]

IMPLEMENT_MATERIAL_SHADER_TYPE ( FMeshDecalsPS  ,
TEXT("/Engine/Private/MeshDecals.usf" ,
TEXT("MainPS")  ,
SF_Pixel   
)

◆ IMPLEMENT_MATERIAL_SHADER_TYPE() [4/4]

IMPLEMENT_MATERIAL_SHADER_TYPE ( FMeshDecalsVS  ,
TEXT("/Engine/Private/MeshDecals.usf" ,
TEXT("MainVS")  ,
SF_Vertex   
)

◆ IMPLEMENT_STATIC_UNIFORM_BUFFER_SLOT()

IMPLEMENT_STATIC_UNIFORM_BUFFER_SLOT ( DeferredDecals  )

◆ IMPLEMENT_STATIC_UNIFORM_BUFFER_STRUCT()

IMPLEMENT_STATIC_UNIFORM_BUFFER_STRUCT ( FDeferredDecalUniformParameters  ,
"DeferredDecal"  ,
DeferredDecals   
)

◆ REGISTER_MESHPASSPROCESSOR_AND_PSOCOLLECTOR() [1/8]

◆ REGISTER_MESHPASSPROCESSOR_AND_PSOCOLLECTOR() [2/8]

◆ REGISTER_MESHPASSPROCESSOR_AND_PSOCOLLECTOR() [3/8]

◆ REGISTER_MESHPASSPROCESSOR_AND_PSOCOLLECTOR() [4/8]

◆ REGISTER_MESHPASSPROCESSOR_AND_PSOCOLLECTOR() [5/8]

◆ REGISTER_MESHPASSPROCESSOR_AND_PSOCOLLECTOR() [6/8]

◆ REGISTER_MESHPASSPROCESSOR_AND_PSOCOLLECTOR() [7/8]

◆ REGISTER_MESHPASSPROCESSOR_AND_PSOCOLLECTOR() [8/8]

◆ RenderMeshDecals()

void RenderMeshDecals ( FRDGBuilder GraphBuilder,
const FScene Scene,
FViewInfo View,
const FDeferredDecalPassTextures DecalPassTextures,
FInstanceCullingManager InstanceCullingManager,
EDecalRenderStage  DecalRenderStage 
)