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

Classes

class  FClearUAVBuildIndirectDispatchBufferCS
 
class  FClearUAVCS
 
class  FSSSTileCategorisationMarkCS
 
class  FSSSTileClassificationBuildListsCS
 
class  FSubsurfaceTileBuildIndirectDispatchArgsCS
 

Functions

FSubsurfaceTilePassVS::FParameters GetSubsurfaceTileParameters (const FScreenPassTextureViewport &TileViewport, const FSubsurfaceTiles &InTile, FSubsurfaceTiles::ETileType TileType)
 
 IMPLEMENT_GLOBAL_SHADER (FClearUAVBuildIndirectDispatchBufferCS, "/Engine/Private/PostprocessSubsurfaceTile.usf", "BuildIndirectDispatchArgsCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FClearUAVCS, "/Engine/Private/PostprocessSubsurfaceTile.usf", "ClearUAV", SF_Compute)
 
void AddConditionalClearBlackUAVPass (FRDGBuilder &GraphBuilder, FRDGEventName &&Name, FRDGTextureRef Texture, const FScreenPassTextureViewport &ScreenPassViewport, FRDGBufferRef ConditionBuffer, uint32 Offset)
 
 IMPLEMENT_GLOBAL_SHADER (FSubsurfaceTilePassVS, "/Engine/Private/PostProcessSubsurfaceTile.usf", "MainVS", SF_Vertex)
 
 IMPLEMENT_GLOBAL_SHADER (FSubsurfaceTileFallbackScreenPassVS, "/Engine/Private/PostProcessSubsurfaceTile.usf", "SubsurfaceTileFallbackScreenPassVS", SF_Vertex)
 
const TCHARToString (FSubsurfaceTiles::ETileType Type)
 
 IMPLEMENT_GLOBAL_SHADER (FSSSTileCategorisationMarkCS, "/Engine/Private/PostProcessSubsurfaceTile.usf", "SSSTileCategorisationMarkCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FSSSTileClassificationBuildListsCS, "/Engine/Private/PostProcessSubsurfaceTile.usf", "SSSTileClassificationBuildListsCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FSubsurfaceTileBuildIndirectDispatchArgsCS, "/Engine/Private/PostprocessSubsurfaceTile.usf", "SubsurfaceTileBuildIndirectDispatchArgsCS", SF_Compute)
 
FVector4f GetSubsurfaceParams (const FViewInfo &View)
 
FSubsurfaceTiles ClassifySSSTiles (FRDGBuilder &GraphBuilder, const FViewInfo &View, const FSceneTextures &SceneTextures, const FScreenPassTextureViewportParameters SceneViewportParameters, const FScreenPassTextureViewportParameters SubsurfaceViewportParameters, const bool IsHalfRes)
 

Function Documentation

◆ AddConditionalClearBlackUAVPass()

void AddConditionalClearBlackUAVPass ( FRDGBuilder GraphBuilder,
FRDGEventName &&  PassName,
FRDGTextureRef  Texture,
const FScreenPassTextureViewport ScreenPassViewport,
FRDGBufferRef  ConditionBuffer,
uint32  Offset 
)

Clear the UAV texture to black only when ConditionBuffer[Offset] > 0

◆ ClassifySSSTiles()

FSubsurfaceTiles ClassifySSSTiles ( FRDGBuilder GraphBuilder,
const FViewInfo View,
const FSceneTextures SceneTextures,
const FScreenPassTextureViewportParameters  SceneViewportParameters,
const FScreenPassTextureViewportParameters  SubsurfaceViewportParameters,
const bool  IsHalfRes 
)

Code adapted from ScreenSpaceReflectionTiles to reduce Setup SSS cost. Build lists of 8x8 tiles used by SSS pixels Mark and build list steps are separated in order to build a more coherent list (z-ordered over a larger region), which is important for the performance of future passes due to neighbor diffusion.

◆ GetSubsurfaceParams()

FVector4f GetSubsurfaceParams ( const FViewInfo View)

◆ GetSubsurfaceTileParameters()

FSubsurfaceTilePassVS::FParameters GetSubsurfaceTileParameters ( const FScreenPassTextureViewport TileViewport,
const FSubsurfaceTiles InTile,
FSubsurfaceTiles::ETileType  TileType 
)

◆ IMPLEMENT_GLOBAL_SHADER() [1/7]

IMPLEMENT_GLOBAL_SHADER ( FClearUAVBuildIndirectDispatchBufferCS  ,
"/Engine/Private/PostprocessSubsurfaceTile.usf"  ,
"BuildIndirectDispatchArgsCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [2/7]

IMPLEMENT_GLOBAL_SHADER ( FClearUAVCS  ,
"/Engine/Private/PostprocessSubsurfaceTile.usf"  ,
"ClearUAV"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [3/7]

IMPLEMENT_GLOBAL_SHADER ( FSSSTileCategorisationMarkCS  ,
"/Engine/Private/PostProcessSubsurfaceTile.usf"  ,
"SSSTileCategorisationMarkCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [4/7]

IMPLEMENT_GLOBAL_SHADER ( FSSSTileClassificationBuildListsCS  ,
"/Engine/Private/PostProcessSubsurfaceTile.usf"  ,
"SSSTileClassificationBuildListsCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [5/7]

IMPLEMENT_GLOBAL_SHADER ( FSubsurfaceTileBuildIndirectDispatchArgsCS  ,
"/Engine/Private/PostprocessSubsurfaceTile.usf"  ,
"SubsurfaceTileBuildIndirectDispatchArgsCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [6/7]

IMPLEMENT_GLOBAL_SHADER ( FSubsurfaceTileFallbackScreenPassVS  ,
"/Engine/Private/PostProcessSubsurfaceTile.usf"  ,
"SubsurfaceTileFallbackScreenPassVS"  ,
SF_Vertex   
)

◆ IMPLEMENT_GLOBAL_SHADER() [7/7]

IMPLEMENT_GLOBAL_SHADER ( FSubsurfaceTilePassVS  ,
"/Engine/Private/PostProcessSubsurfaceTile.usf"  ,
"MainVS"  ,
SF_Vertex   
)

◆ ToString()

const TCHAR * ToString ( FSubsurfaceTiles::ETileType  Type)