UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SubsurfaceTiles.h File Reference
#include "CoreMinimal.h"
#include "RendererInterface.h"
#include "RenderGraphResources.h"
#include "GlobalShader.h"
#include "ShaderParameterStruct.h"
#include "ScreenPass.h"
#include "SceneRendering.h"

Go to the source code of this file.

Classes

struct  FSubsurfaceTiles
 
class  FSubsurfaceTilePassVS
 
class  FSubsurfaceTileFallbackScreenPassVS
 

Functions

FORCEINLINE uint32 ToIndex (FSubsurfaceTiles::ETileType Type)
 
const TCHARToString (FSubsurfaceTiles::ETileType Type)
 
FSubsurfaceTilePassVS::FParameters GetSubsurfaceTileParameters (const FScreenPassTextureViewport &TileViewport, const FSubsurfaceTiles &InTile, FSubsurfaceTiles::ETileType TileType)
 
template<typename FSubsurfacePassPS , typename FSubsurfacePassVS >
void AddSubsurfaceTiledScreenPass (FRDGBuilder &GraphBuilder, FRDGEventName &&Name, const FViewInfo &View, typename FSubsurfacePassPS::FParameters *PassParameters, TShaderMapRef< FSubsurfacePassVS > &VertexShader, TShaderMapRef< FSubsurfacePassPS > &PixelShader, FRHIBlendState *BlendState, FRHIDepthStencilState *DepthStencilState, const FScreenPassTextureViewport SceneViewport, FSubsurfaceTiles::ETileType TileType, const bool bShouldFallbackToFullScreenPass=false)
 
void AddConditionalClearBlackUAVPass (FRDGBuilder &GraphBuilder, FRDGEventName &&PassName, FRDGTextureRef Texture, const FScreenPassTextureViewport &ScreenPassViewport, FRDGBufferRef ConditionBuffer, uint32 Offset)
 
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

◆ AddSubsurfaceTiledScreenPass()

void AddSubsurfaceTiledScreenPass ( FRDGBuilder GraphBuilder,
FRDGEventName &&  Name,
const FViewInfo View,
typename FSubsurfacePassPS::FParameters *  PassParameters,
TShaderMapRef< FSubsurfacePassVS > &  VertexShader,
TShaderMapRef< FSubsurfacePassPS > &  PixelShader,
FRHIBlendState BlendState,
FRHIDepthStencilState DepthStencilState,
const FScreenPassTextureViewport  SceneViewport,
FSubsurfaceTiles::ETileType  TileType,
const bool  bShouldFallbackToFullScreenPass = false 
)

◆ 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.

◆ GetSubsurfaceTileParameters()

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

◆ ToIndex()

◆ ToString()

const TCHAR * ToString ( FSubsurfaceTiles::ETileType  Type)