UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DistanceFieldLightingShared.h File Reference
#include "CoreTypes.h"
#include "ShaderParameterMacros.h"

Go to the source code of this file.

Classes

class  FDistanceFieldObjectBuffers
 

Namespaces

namespace  DistanceField
 

Typedefs

using FRDGBufferRef = FRDGBuffer *
 

Enumerations

enum  EDistanceFieldPrimitiveType { DFPT_SignedDistanceField , DFPT_HeightField , DFPT_Num }
 

Functions

 DECLARE_LOG_CATEGORY_EXTERN (LogDistanceField, Log, All)
 
bool UseDistanceFieldAO ()
 
bool UseAOObjectDistanceField ()
 
FDistanceFieldObjectBufferParameters DistanceField::SetupObjectBufferParameters (FRDGBuilder &GraphBuilder, const FDistanceFieldSceneData &DistanceFieldSceneData)
 
FDistanceFieldAtlasParameters DistanceField::SetupAtlasParameters (FRDGBuilder &GraphBuilder, const FDistanceFieldSceneData &DistanceFieldSceneData)
 
void AllocateDistanceFieldCulledObjectBuffers (FRDGBuilder &GraphBuilder, uint32 MaxObjects, FRDGBufferRef &OutObjectIndirectArguments, FDistanceFieldCulledObjectBufferParameters &OutParameters)
 
void CullDistanceFieldObjectsForLight (FRDGBuilder &GraphBuilder, const FViewInfo &View, const FLightSceneProxy *LightSceneProxy, EDistanceFieldPrimitiveType PrimitiveType, const FMatrix &WorldToShadowValue, int32 NumPlanes, const FPlane *PlaneData, const FVector &PrePlaneTranslation, const FVector4f &ShadowBoundingSphere, float ShadowBoundingRadius, bool bCullingForDirectShadowing, bool bCullHeighfieldsNotInAtlas, const FDistanceFieldObjectBufferParameters &ObjectBufferParameters, FDistanceFieldCulledObjectBufferParameters &CulledObjectBufferParameters, FLightTileIntersectionParameters &LightTileIntersectionParameters)
 
bool ShouldPrepareForDistanceFieldAO (const FScene *Scene, const FSceneViewFamily &ViewFamily, bool bAnyViewHasGIMethodSupportingDFAO)
 
bool ShouldRenderDistanceFieldAO (TConstArrayView< FViewInfo > Views, const FEngineShowFlags &EngineShowFlags)
 
bool SupportsDistanceFieldAO (ERHIFeatureLevel::Type FeatureLevel, EShaderPlatform ShaderPlatform)
 
bool ShouldRenderDistanceFieldLighting (const FDistanceFieldSceneData &SceneData, TConstArrayView< FViewInfo > Views)
 

Variables

int32 GDistanceFieldAOTileSizeX
 
int32 GDistanceFieldAOTileSizeY
 
int32 GAverageObjectsPerShadowCullTile
 
int32 GAverageHeightFieldObjectsPerShadowCullTile
 
constexpr uint32 DistanceField::MinPrimitiveModifiedBoundsAllocation = 1024
 

Typedef Documentation

◆ FRDGBufferRef

Enumeration Type Documentation

◆ EDistanceFieldPrimitiveType

Enumerator
DFPT_SignedDistanceField 
DFPT_HeightField 
DFPT_Num 

Function Documentation

◆ AllocateDistanceFieldCulledObjectBuffers()

void AllocateDistanceFieldCulledObjectBuffers ( FRDGBuilder GraphBuilder,
uint32  MaxObjects,
FRDGBufferRef OutObjectIndirectArguments,
FDistanceFieldCulledObjectBufferParameters OutParameters 
)
extern

◆ CullDistanceFieldObjectsForLight()

void CullDistanceFieldObjectsForLight ( FRDGBuilder GraphBuilder,
const FViewInfo View,
const FLightSceneProxy LightSceneProxy,
EDistanceFieldPrimitiveType  PrimitiveType,
const FMatrix WorldToShadowValue,
int32  NumPlanes,
const FPlane PlaneData,
const FVector PrePlaneTranslation,
const FVector4f ShadowBoundingSphere,
float  ShadowBoundingRadius,
bool  bCullingForDirectShadowing,
bool  bCullHeighfieldsNotInAtlas,
const FDistanceFieldObjectBufferParameters ObjectBufferParameters,
FDistanceFieldCulledObjectBufferParameters CulledObjectBufferParameters,
FLightTileIntersectionParameters LightTileIntersectionParameters 
)
extern

◆ DECLARE_LOG_CATEGORY_EXTERN()

DECLARE_LOG_CATEGORY_EXTERN ( LogDistanceField  ,
Log  ,
All   
)

◆ ShouldPrepareForDistanceFieldAO()

bool ShouldPrepareForDistanceFieldAO ( const FScene Scene,
const FSceneViewFamily ViewFamily,
bool  bAnyViewHasGIMethodSupportingDFAO 
)
extern

◆ ShouldRenderDistanceFieldAO()

bool ShouldRenderDistanceFieldAO ( TConstArrayView< FViewInfo Views,
const FEngineShowFlags EngineShowFlags 
)
extern

◆ ShouldRenderDistanceFieldLighting()

bool ShouldRenderDistanceFieldLighting ( const FDistanceFieldSceneData SceneData,
TConstArrayView< FViewInfo Views 
)
extern

◆ SupportsDistanceFieldAO()

bool SupportsDistanceFieldAO ( ERHIFeatureLevel::Type  FeatureLevel,
EShaderPlatform  ShaderPlatform 
)
extern

◆ UseAOObjectDistanceField()

bool UseAOObjectDistanceField ( )
extern

◆ UseDistanceFieldAO()

bool UseDistanceFieldAO ( )
extern

Variable Documentation

◆ GAverageHeightFieldObjectsPerShadowCullTile

int32 GAverageHeightFieldObjectsPerShadowCullTile
extern

◆ GAverageObjectsPerShadowCullTile

int32 GAverageObjectsPerShadowCullTile
extern

◆ GDistanceFieldAOTileSizeX

int32 GDistanceFieldAOTileSizeX
extern

Tile sized used for most AO compute shaders.

◆ GDistanceFieldAOTileSizeY

int32 GDistanceFieldAOTileSizeY
extern