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

Classes

class  FDownsampleLightShaftsVertexShader
 
class  FDownsampleLightShaftsPixelShader
 
class  FBlurLightShaftsPixelShader
 
class  FFinishOcclusionPixelShader
 
class  FApplyLightShaftsPixelShader
 

Enumerations

enum class  ELightShaftBloomOutput { SceneColor , SeparateTranslucency }
 
enum class  ELightShaftTechnique { Occlusion , Bloom }
 

Functions

int32 GetLightShaftDownsampleFactor ()
 
FVector4f GetLightScreenPosition (const FViewInfo &View, const FLightSceneProxy &LightSceneProxy)
 
FMobileLightShaftInfo GetMobileLightShaftInfo (const FViewInfo &View, const FLightSceneInfo &LightSceneInfo)
 
ELightShaftBloomOutput GetLightShaftBloomOutput (const FSceneViewFamily &ViewFamily)
 
bool ShouldRenderLightShafts (const FSceneViewFamily &ViewFamily)
 
bool ShouldRenderLightShaftsForLight (const FViewInfo &View, const FLightSceneProxy &LightSceneProxy)
 
FLightShaftPixelShaderParameters GetLightShaftParameters (const FViewInfo &View, const FLightSceneInfo &LightSceneInfo, const FScreenPassTextureViewport &SceneViewport, const FScreenPassTextureViewport &LightShaftViewport)
 
 IMPLEMENT_GLOBAL_SHADER (FDownsampleLightShaftsVertexShader, "/Engine/Private/LightShaftShader.usf", "DownsampleLightShaftsVertexMain", SF_Vertex)
 
 IMPLEMENT_GLOBAL_SHADER (FDownsampleLightShaftsPixelShader, "/Engine/Private/LightShaftShader.usf", "DownsampleLightShaftsPixelMain", SF_Pixel)
 
 IMPLEMENT_GLOBAL_SHADER (FBlurLightShaftsPixelShader, "/Engine/Private/LightShaftShader.usf", "BlurLightShaftsMain", SF_Pixel)
 
 IMPLEMENT_GLOBAL_SHADER (FFinishOcclusionPixelShader, "/Engine/Private/LightShaftShader.usf", "FinishOcclusionMain", SF_Pixel)
 
 IMPLEMENT_GLOBAL_SHADER (FApplyLightShaftsPixelShader, "/Engine/Private/LightShaftShader.usf", "ApplyLightShaftsPixelMain", SF_Pixel)
 
FScreenPassRenderTarget CreateLightShaftTexture (FRDGBuilder &GraphBuilder, FScreenPassTextureViewport Viewport, const TCHAR *Name)
 
FScreenPassTexture AddDownsamplePass (FRDGBuilder &GraphBuilder, const FViewInfo &View, const FLightShaftPixelShaderParameters &LightShaftParameters, TRDGUniformBufferRef< FSceneTextureUniformParameters > SceneTextures, FScreenPassTextureViewport SceneViewport, FScreenPassTextureViewport OutputViewport, ELightComponentType LightComponentType, ELightShaftTechnique LightShaftTechnique)
 
FScreenPassTexture AddTemporalAAPass (FRDGBuilder &GraphBuilder, const FViewInfo &View, const TRDGUniformBufferRef< FSceneTextureUniformParameters > SceneTextures, FTemporalAAHistory *HistoryState, FScreenPassTexture LightShafts)
 
FScreenPassTexture AddRadialBlurPass (FRDGBuilder &GraphBuilder, const FViewInfo &View, const FLightShaftPixelShaderParameters &LightShaftParameters, FScreenPassTexture LightShafts)
 
FScreenPassTexture AddLightShaftSetupPass (FRDGBuilder &GraphBuilder, const FViewInfo &View, const FLightShaftPixelShaderParameters &LightShaftParameters, TRDGUniformBufferRef< FSceneTextureUniformParameters > SceneTextures, FScreenPassTextureViewport SceneViewport, FScreenPassTextureViewport LightShaftViewport, FTemporalAAHistory *LightShaftTemporalHistory, ELightComponentType LightComponentType, ELightShaftTechnique LightShaftTechnique)
 
void AddOcclusionTermPass (FRDGBuilder &GraphBuilder, const FViewInfo &View, const FLightShaftPixelShaderParameters &LightShaftParameters, FScreenPassTexture LightShafts, FScreenPassRenderTarget Output)
 
void AddLightShaftBloomPass (FRDGBuilder &GraphBuilder, const FViewInfo &View, const FLightShaftPixelShaderParameters &LightShaftParameters, FScreenPassTexture LightShafts, FScreenPassTextureViewport OutputViewport, FRenderTargetBinding OutputBinding)
 

Variables

int32 GLightShafts = 1
 
int32 GLightShaftAllowTAA = 1
 
int32 GLightShaftDownsampleFactor = 2
 
int32 GLightShaftRenderAfterDOF = 0
 
int32 GLightShaftBlurPasses = 3
 
float GLightShaftFirstPassDistance = .1f
 
int32 GLightShaftBlurNumSamples = 12
 

Enumeration Type Documentation

◆ ELightShaftBloomOutput

Enumerator
SceneColor 
SeparateTranslucency 

◆ ELightShaftTechnique

enum class ELightShaftTechnique
strong
Enumerator
Occlusion 
Bloom 

Function Documentation

◆ AddDownsamplePass()

FScreenPassTexture AddDownsamplePass ( FRDGBuilder GraphBuilder,
const FViewInfo View,
const FLightShaftPixelShaderParameters LightShaftParameters,
TRDGUniformBufferRef< FSceneTextureUniformParameters SceneTextures,
FScreenPassTextureViewport  SceneViewport,
FScreenPassTextureViewport  OutputViewport,
ELightComponentType  LightComponentType,
ELightShaftTechnique  LightShaftTechnique 
)

◆ AddLightShaftBloomPass()

void AddLightShaftBloomPass ( FRDGBuilder GraphBuilder,
const FViewInfo View,
const FLightShaftPixelShaderParameters LightShaftParameters,
FScreenPassTexture  LightShafts,
FScreenPassTextureViewport  OutputViewport,
FRenderTargetBinding  OutputBinding 
)

◆ AddLightShaftSetupPass()

FScreenPassTexture AddLightShaftSetupPass ( FRDGBuilder GraphBuilder,
const FViewInfo View,
const FLightShaftPixelShaderParameters LightShaftParameters,
TRDGUniformBufferRef< FSceneTextureUniformParameters SceneTextures,
FScreenPassTextureViewport  SceneViewport,
FScreenPassTextureViewport  LightShaftViewport,
FTemporalAAHistory LightShaftTemporalHistory,
ELightComponentType  LightComponentType,
ELightShaftTechnique  LightShaftTechnique 
)

◆ AddOcclusionTermPass()

void AddOcclusionTermPass ( FRDGBuilder GraphBuilder,
const FViewInfo View,
const FLightShaftPixelShaderParameters LightShaftParameters,
FScreenPassTexture  LightShafts,
FScreenPassRenderTarget  Output 
)

◆ AddRadialBlurPass()

FScreenPassTexture AddRadialBlurPass ( FRDGBuilder GraphBuilder,
const FViewInfo View,
const FLightShaftPixelShaderParameters LightShaftParameters,
FScreenPassTexture  LightShafts 
)

◆ AddTemporalAAPass()

FScreenPassTexture AddTemporalAAPass ( FRDGBuilder GraphBuilder,
const FViewInfo View,
const TRDGUniformBufferRef< FSceneTextureUniformParameters SceneTextures,
FTemporalAAHistory HistoryState,
FScreenPassTexture  LightShafts 
)

◆ CreateLightShaftTexture()

FScreenPassRenderTarget CreateLightShaftTexture ( FRDGBuilder GraphBuilder,
FScreenPassTextureViewport  Viewport,
const TCHAR Name 
)

◆ GetLightScreenPosition()

FVector4f GetLightScreenPosition ( const FViewInfo View,
const FLightSceneProxy LightSceneProxy 
)

◆ GetLightShaftBloomOutput()

ELightShaftBloomOutput GetLightShaftBloomOutput ( const FSceneViewFamily ViewFamily)

◆ GetLightShaftDownsampleFactor()

int32 GetLightShaftDownsampleFactor ( )

◆ GetLightShaftParameters()

FLightShaftPixelShaderParameters GetLightShaftParameters ( const FViewInfo View,
const FLightSceneInfo LightSceneInfo,
const FScreenPassTextureViewport SceneViewport,
const FScreenPassTextureViewport LightShaftViewport 
)

◆ GetMobileLightShaftInfo()

FMobileLightShaftInfo GetMobileLightShaftInfo ( const FViewInfo View,
const FLightSceneInfo LightSceneInfo 
)

◆ IMPLEMENT_GLOBAL_SHADER() [1/5]

IMPLEMENT_GLOBAL_SHADER ( FApplyLightShaftsPixelShader  ,
"/Engine/Private/LightShaftShader.usf"  ,
"ApplyLightShaftsPixelMain"  ,
SF_Pixel   
)

◆ IMPLEMENT_GLOBAL_SHADER() [2/5]

IMPLEMENT_GLOBAL_SHADER ( FBlurLightShaftsPixelShader  ,
"/Engine/Private/LightShaftShader.usf"  ,
"BlurLightShaftsMain"  ,
SF_Pixel   
)

◆ IMPLEMENT_GLOBAL_SHADER() [3/5]

IMPLEMENT_GLOBAL_SHADER ( FDownsampleLightShaftsPixelShader  ,
"/Engine/Private/LightShaftShader.usf"  ,
"DownsampleLightShaftsPixelMain"  ,
SF_Pixel   
)

◆ IMPLEMENT_GLOBAL_SHADER() [4/5]

IMPLEMENT_GLOBAL_SHADER ( FDownsampleLightShaftsVertexShader  ,
"/Engine/Private/LightShaftShader.usf"  ,
"DownsampleLightShaftsVertexMain"  ,
SF_Vertex   
)

◆ IMPLEMENT_GLOBAL_SHADER() [5/5]

IMPLEMENT_GLOBAL_SHADER ( FFinishOcclusionPixelShader  ,
"/Engine/Private/LightShaftShader.usf"  ,
"FinishOcclusionMain"  ,
SF_Pixel   
)

◆ ShouldRenderLightShafts()

bool ShouldRenderLightShafts ( const FSceneViewFamily ViewFamily)

◆ ShouldRenderLightShaftsForLight()

bool ShouldRenderLightShaftsForLight ( const FViewInfo View,
const FLightSceneProxy LightSceneProxy 
)

Variable Documentation

◆ GLightShaftAllowTAA

int32 GLightShaftAllowTAA = 1

◆ GLightShaftBlurNumSamples

int32 GLightShaftBlurNumSamples = 12

◆ GLightShaftBlurPasses

int32 GLightShaftBlurPasses = 3

◆ GLightShaftDownsampleFactor

int32 GLightShaftDownsampleFactor = 2

◆ GLightShaftFirstPassDistance

float GLightShaftFirstPassDistance = .1f

◆ GLightShaftRenderAfterDOF

int32 GLightShaftRenderAfterDOF = 0

◆ GLightShafts

int32 GLightShafts = 1