UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DistanceFieldLightingShared.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 DistanceFieldLightingShared.h
5=============================================================================*/
6
7#pragma once
8
9#include "CoreTypes.h"
11
16class FRDGBuffer;
17class FRDGBuilder;
19class FScene;
20class FSceneRenderer;
23class FViewInfo;
24
25struct FEngineShowFlags;
26
28
30
36
37extern bool UseDistanceFieldAO();
38extern bool UseAOObjectDistanceField();
39
46
47// Must match equivalent shader defines
48static const int32 GDistanceFieldObjectDataStride = 10;
49static const int32 GDistanceFieldObjectBoundsStride = 3;
50
51static const int32 GHeightFieldObjectDataStride = 7;
52static const int32 GHeightFieldObjectBoundsStride = 3;
53
68
77
95
100
101namespace DistanceField
102{
104
107};
108
112 SHADER_PARAMETER_RDG_BUFFER_SRV(Buffer<uint>, ObjectIndirectArguments)
115
117 FRDGBuilder& GraphBuilder,
118 uint32 MaxObjects,
121
127
132
136
140
142 FRDGBuilder& GraphBuilder,
143 const FViewInfo& View,
145 EDistanceFieldPrimitiveType PrimitiveType,
147 int32 NumPlanes,
148 const FPlane* PlaneData,
157
160
161extern bool SupportsDistanceFieldAO(ERHIFeatureLevel::Type FeatureLevel, EShaderPlatform ShaderPlatform);
162
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
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)
Definition DistanceFieldShadowing.cpp:607
int32 GAverageObjectsPerShadowCullTile
Definition DistanceFieldShadowing.cpp:85
bool UseAOObjectDistanceField()
Definition DistanceFieldAmbientOcclusion.cpp:147
EDistanceFieldPrimitiveType
Definition DistanceFieldLightingShared.h:41
@ DFPT_Num
Definition DistanceFieldLightingShared.h:44
@ DFPT_SignedDistanceField
Definition DistanceFieldLightingShared.h:42
@ DFPT_HeightField
Definition DistanceFieldLightingShared.h:43
int32 GDistanceFieldAOTileSizeY
Definition DistanceFieldAmbientOcclusion.cpp:153
void AllocateDistanceFieldCulledObjectBuffers(FRDGBuilder &GraphBuilder, uint32 MaxObjects, FRDGBufferRef &OutObjectIndirectArguments, FDistanceFieldCulledObjectBufferParameters &OutParameters)
Definition DistanceFieldShadowing.cpp:590
bool ShouldRenderDistanceFieldLighting(const FDistanceFieldSceneData &SceneData, TConstArrayView< FViewInfo > Views)
Definition DistanceFieldAmbientOcclusion.cpp:849
bool ShouldPrepareForDistanceFieldAO(const FScene *Scene, const FSceneViewFamily &ViewFamily, bool bAnyViewHasGIMethodSupportingDFAO)
Definition DistanceFieldAmbientOcclusion.cpp:717
bool UseDistanceFieldAO()
Definition DistanceFieldAmbientOcclusion.cpp:142
int32 GAverageHeightFieldObjectsPerShadowCullTile
Definition DistanceFieldShadowing.cpp:122
bool ShouldRenderDistanceFieldAO(TConstArrayView< FViewInfo > Views, const FEngineShowFlags &EngineShowFlags)
Definition DistanceFieldAmbientOcclusion.cpp:985
bool SupportsDistanceFieldAO(ERHIFeatureLevel::Type FeatureLevel, EShaderPlatform ShaderPlatform)
Definition DistanceFieldAmbientOcclusion.cpp:684
int32 GDistanceFieldAOTileSizeX
Definition DistanceFieldAmbientOcclusion.cpp:152
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
EShaderPlatform
Definition RHIShaderPlatform.h:11
#define SHADER_PARAMETER_RDG_BUFFER_SRV(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1800
#define SHADER_PARAMETER_RDG_TEXTURE(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1752
#define SHADER_PARAMETER_SAMPLER(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1740
#define SHADER_PARAMETER_RDG_BUFFER_UAV(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1812
#define BEGIN_SHADER_PARAMETER_STRUCT(StructTypeName, DllStorage)
Definition ShaderParameterMacros.h:1482
#define END_SHADER_PARAMETER_STRUCT()
Definition ShaderParameterMacros.h:1485
#define SHADER_PARAMETER(MemberType, MemberName)
Definition ShaderParameterMacros.h:1684
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition DistanceFieldLightingShared.h:55
TRefCountPtr< FRDGPooledBuffer > Bounds
Definition DistanceFieldLightingShared.h:57
void Release()
Definition DistanceFieldLightingShared.cpp:13
void Initialize()
Definition DistanceFieldLightingShared.cpp:9
TRefCountPtr< FRDGPooledBuffer > Data
Definition DistanceFieldLightingShared.h:58
size_t GetSizeBytes() const
Definition DistanceFieldLightingShared.cpp:19
Definition ScenePrivate.h:2071
Definition LightSceneProxy.h:43
Definition MaterialRenderProxy.h:102
Definition PrimitiveSceneInfo.h:266
Definition RenderGraphResources.h:1321
Definition RenderGraphBuilder.h:49
Definition RenderGraphResources.h:1196
Definition SceneRendering.h:2080
Definition SceneView.h:2212
Definition ScenePrivate.h:2875
Definition ShaderCore.h:323
Definition SceneRendering.h:1132
Definition RefCounting.h:454
Definition DistanceFieldAtlas.h:36
FDistanceFieldAtlasParameters SetupAtlasParameters(FRDGBuilder &GraphBuilder, const FDistanceFieldSceneData &DistanceFieldSceneData)
Definition DistanceFieldObjectManagement.cpp:115
FDistanceFieldObjectBufferParameters SetupObjectBufferParameters(FRDGBuilder &GraphBuilder, const FDistanceFieldSceneData &DistanceFieldSceneData)
Definition DistanceFieldObjectManagement.cpp:81
constexpr uint32 MinPrimitiveModifiedBoundsAllocation
Definition DistanceFieldLightingShared.h:103
Definition SceneComponent.h:24
Definition ShowFlags.h:56
Definition IntPoint.h:25