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

Classes

class  Substrate::FSubstrateClosureTilePassCS
 
class  Substrate::FSubstrateMaterialTileClassificationPassCS
 
class  Substrate::FSubstrateDBufferPassCS
 
class  Substrate::FSubstrateDBufferPassPS
 
class  Substrate::FSubstrateMaterialTilePrepareArgsPassCS
 
class  Substrate::FSubstrateClosureTilePrepareArgsPassCS
 
class  Substrate::FSubstrateMaterialStencilTaggingPassPS
 
class  Substrate::FSubstrateSampleMaterialPassCS
 

Namespaces

namespace  MegaLights
 
namespace  Substrate
 

Functions

 IMPLEMENT_GLOBAL_SHADER_PARAMETER_STRUCT (FSubstrateGlobalUniformParameters, "Substrate")
 
uint32 MegaLights::GetStateFrameIndex (FSceneViewState *ViewState, EShaderPlatform InPlatform)
 
uint32 Substrate::GetMaxDownsampleFactor ()
 
uint32 Substrate::GetClosureTileIndirectArgsOffset (uint32 InDownsampleFactor)
 
bool Substrate::IsStochasticLightingActive (EShaderPlatform InPlatform)
 
bool Substrate::UsesSubstrateMaterialBuffer (EShaderPlatform In)
 
uint32 Substrate::GetMaterialBufferAllocationMode ()
 
bool Substrate::UsesSubstrateClosureCountFromMaterialData ()
 
uint32 Substrate::GetSubstrateMaxClosureCount (const FViewInfo &View)
 
FIntPoint Substrate::GetSubstrateTextureResolution (const FViewInfo &View, const FIntPoint &InResolution)
 
bool Substrate::Is8bitTileCoordEnabled ()
 
bool Substrate::GetSubstrateUsesTileType (const FViewInfo &View, ESubstrateTileType TileType)
 
bool Substrate::GetSubstrateUsesComplexSpecialPath (const FViewInfo &View)
 
bool Substrate::GetSubstrateUsesAnisotropy (const FViewInfo &View)
 
bool Substrate::SupportsCMask (const FStaticShaderPlatform InPlatform)
 
bool Substrate::IsClassificationAsync ()
 
bool Substrate::UsesStochasticLightingClassification (EShaderPlatform InPlatform)
 
void Substrate::InitialiseSubstrateFrameSceneData (FRDGBuilder &GraphBuilder, FSceneRenderer &SceneRenderer)
 
FSubstrateCommonParameters Substrate::GetSubstrateCommonParameter (const FSubstrateSceneData &In)
 
void Substrate::BindSubstrateBasePassUniformParameters (FRDGBuilder &GraphBuilder, const FViewInfo &View, FSubstrateBasePassUniformParameters &OutSubstrateUniformParameters)
 
void Substrate::BindSubstrateForwardPasslUniformParameters (FRDGBuilder &GraphBuilder, const FViewInfo &View, FSubstrateForwardPassUniformParameters &OutSubstrateUniformParameters)
 
void Substrate::BindSubstrateMobileForwardPasslUniformParameters (FRDGBuilder &GraphBuilder, const FViewInfo &View, FSubstrateMobileForwardPassUniformParameters &OutSubstrateUniformParameters)
 
TRDGUniformBufferRef< FSubstrateGlobalUniformParametersSubstrate::BindSubstrateGlobalUniformParameters (const FViewInfo &View)
 
void Substrate::BindSubstratePublicGlobalUniformParameters (FRDGBuilder &GraphBuilder, const FSubstrateSceneData *SubstrateSceneData, FSubstratePublicParameters &OutSubstrateParameters)
 
TRDGUniformBufferRef< FSubstratePublicGlobalUniformParametersSubstrate::CreatePublicGlobalUniformBuffer (FRDGBuilder &GraphBuilder, FSubstrateSceneData *SubstrateScene)
 
 Substrate::IMPLEMENT_GLOBAL_SHADER (FSubstrateClosureTilePassCS, "/Engine/Private/Substrate/SubstrateMaterialClassification.usf", "ClosureTileMainCS", SF_Compute)
 
 Substrate::IMPLEMENT_GLOBAL_SHADER (FSubstrateMaterialTileClassificationPassCS, "/Engine/Private/Substrate/SubstrateMaterialClassification.usf", "TileMainCS", SF_Compute)
 
 Substrate::IMPLEMENT_GLOBAL_SHADER (FSubstrateDBufferPassCS, "/Engine/Private/Substrate/SubstrateDBuffer.usf", "DBufferPassCS", SF_Compute)
 
 Substrate::IMPLEMENT_GLOBAL_SHADER (FSubstrateDBufferPassPS, "/Engine/Private/Substrate/SubstrateDBuffer.usf", "DBufferPassPS", SF_Pixel)
 
 Substrate::IMPLEMENT_GLOBAL_SHADER (FSubstrateMaterialTilePrepareArgsPassCS, "/Engine/Private/Substrate/SubstrateMaterialClassification.usf", "ArgsMainCS", SF_Compute)
 
 Substrate::IMPLEMENT_GLOBAL_SHADER (FSubstrateClosureTilePrepareArgsPassCS, "/Engine/Private/Substrate/SubstrateMaterialClassification.usf", "ArgsMainCS", SF_Compute)
 
 Substrate::IMPLEMENT_GLOBAL_SHADER (FSubstrateTilePassVS, "/Engine/Private/Substrate/SubstrateTile.usf", "SubstrateTilePassVS", SF_Vertex)
 
 Substrate::IMPLEMENT_GLOBAL_SHADER (FSubstrateMaterialStencilTaggingPassPS, "/Engine/Private/Substrate/SubstrateTile.usf", "StencilTaggingMainPS", SF_Pixel)
 
FSubstrateTilePassVS::FParameters Substrate::SetTileParameters (const FViewInfo &View, const ESubstrateTileType TileType, EPrimitiveType &PrimitiveType)
 
FSubstrateTilePassVS::FParameters Substrate::SetTileParameters (FRDGBuilder &GraphBuilder, const FViewInfo &View, const ESubstrateTileType TileType, EPrimitiveType &PrimitiveType)
 
FSubstrateTileParameter Substrate::SetTileParameters (FRDGBuilder &GraphBuilder, const FViewInfo &View, const ESubstrateTileType TileType)
 
uint32 Substrate::TileTypeDrawIndirectArgOffset (const ESubstrateTileType Type)
 
uint32 Substrate::TileTypeDispatchIndirectArgOffset (const ESubstrateTileType Type)
 
void Substrate::AddSubstrateInternalClassificationTilePass (FRDGBuilder &GraphBuilder, const FViewInfo &View, const FRDGTextureRef *DepthTexture, const FRDGTextureRef *ColorTexture, ESubstrateTileType TileMaterialType, const bool bDebug=false)
 
void Substrate::AddSubstrateStencilPass (FRDGBuilder &GraphBuilder, const TArray< FViewInfo > &Views, const FMinimalSceneTextures &SceneTextures)
 
 Substrate::IMPLEMENT_GLOBAL_SHADER (FSubstrateSampleMaterialPassCS, "/Engine/Private/Substrate/SubstrateMaterialSampling.usf", "SubstrateMaterialSamplingCS", SF_Compute)
 
void Substrate::AppendSubstrateMRTs (const FSceneRenderer &SceneRenderer, uint32 &RenderTargetCount, TArrayView< FTextureRenderTargetBinding > RenderTargets)
 
void Substrate::SetBasePassRenderTargetOutputFormat (const EShaderPlatform Platform, const FMaterialShaderParameters &MaterialParameters, FShaderCompilerEnvironment &OutEnvironment, EGBufferLayout GBufferLayout)
 
void Substrate::AddSubstrateMaterialClassificationIndirectArgsPass (FRDGBuilder &GraphBuilder, const FViewInfo &View, ERDGPassFlags ComputePassFlags)
 
void Substrate::AddSubstrateMaterialClassificationPass (FRDGBuilder &GraphBuilder, const FMinimalSceneTextures &SceneTextures, const FDBufferTextures &DBufferTextures, const TArray< FViewInfo > &Views)
 
void Substrate::AddSubstrateDBufferPass (FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, const FDBufferTextures &DBufferTextures, const TArray< FViewInfo > &Views)
 
void Substrate::AddSubstrateDBufferBasePass (FRDGBuilder &GraphBuilder, TArray< FViewInfo > &Views, const FSceneTextures &InSceneTextures, FDBufferTextures &DBufferTextures, FDecalVisibilityTaskData *DecalVisibility, FInstanceCullingManager &InstanceCullingManager, const FSubstrateSceneData &SubstrateSceneData)
 
void Substrate::AddSubstrateSampleMaterialPass (FRDGBuilder &GraphBuilder, const FScene *Scene, const FMinimalSceneTextures &SceneTextures, const TArray< FViewInfo > &Views)
 
bool Substrate::ShouldCompileSubstrateTileTypePermutations (const int32 SubstrateTileType, const EShaderPlatform Platform)
 

Variables

constexpr uint32 Substrate::StencilBit_Fast_1 = StencilBit_Fast
 
constexpr uint32 Substrate::StencilBit_Single_1 = StencilBit_Single
 
constexpr uint32 Substrate::StencilBit_Complex_1 = StencilBit_Complex
 
constexpr uint32 Substrate::StencilBit_ComplexSpecial_1 = StencilBit_ComplexSpecial
 

Function Documentation

◆ IMPLEMENT_GLOBAL_SHADER_PARAMETER_STRUCT()

IMPLEMENT_GLOBAL_SHADER_PARAMETER_STRUCT ( FSubstrateGlobalUniformParameters  ,
"Substrate"   
)