UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
LumenReflections.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
6#include "BlueNoise.h"
8
12class FRDGBuilder;
13class FScene;
15class FSceneView;
17class FViewFamilyInfo;
18class FViewInfo;
20struct FSceneTextures;
21enum class EDiffuseIndirectMethod;
22enum class EReflectionsMethod;
23enum class ERDGPassFlags : uint16;
24
25namespace LumenRadianceCache
26{
28}
29
30namespace LumenReflections
31{
38
40 bool UseAsyncCompute(const FViewFamilyInfo& ViewFamily, EDiffuseIndirectMethod DiffuseIndirectMethod, EReflectionsMethod ReflectionsMethod);
41}
42
47
64
69
73
78
83
89
92
104
111
112namespace LumenReflections
113{
114 bool UseFarField(const FSceneViewFamily& ViewFamily);
115 bool UseHitLighting(const FViewInfo& View, EDiffuseIndirectMethod DiffuseIndirectMethod);
116 bool UseTranslucentRayTracing(const FViewInfo& View);
117 bool IsHitLightingForceEnabled(const FViewInfo& View, EDiffuseIndirectMethod DiffuseIndirectMethod);
119 bool UseScreenTraces(const FViewInfo& View);
122 bool UseRadianceCache();
125
130
133
142
144 FRDGBuilder& GraphBuilder,
145 const FViewInfo& View,
152 ERDGPassFlags ComputePassFlags,
154 bool bSortByMaterial = false);
155};
156
157extern void TraceReflections(
158 FRDGBuilder& GraphBuilder,
159 const FScene* Scene,
160 const FViewInfo& View,
163 const FSceneTextures& SceneTextures,
168 EDiffuseIndirectMethod DiffuseIndirectMethod,
169 const LumenRadianceCache::FRadianceCacheInterpolationParameters& RadianceCacheParameters,
171 ERDGPassFlags ComputePassFlags);
172
176 FRDGBuilder& GraphBuilder,
177 const FSceneTextures& SceneTextures,
179 const FScene* Scene,
180 const FViewInfo& View,
184 float MaxTraceDistance,
186 const LumenRadianceCache::FRadianceCacheInterpolationParameters& RadianceCacheParameters,
188 EDiffuseIndirectMethod DiffuseIndirectMethod,
189 ERDGPassFlags ComputePassFlags);
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EReflectionsMethod
Definition DeferredShadingRenderer.h:307
EDiffuseIndirectMethod
Definition DeferredShadingRenderer.h:291
void RenderLumenHardwareRayTracingReflections(FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, const FSceneTextureParameters &SceneTextureParameters, const FScene *Scene, const FViewInfo &View, const FLumenCardTracingParameters &TracingParameters, const FLumenReflectionTracingParameters &ReflectionTracingParameters, const FLumenReflectionTileParameters &ReflectionTileParameters, float MaxTraceDistance, bool bUseRadianceCache, const LumenRadianceCache::FRadianceCacheInterpolationParameters &RadianceCacheParameters, bool bSampleSceneColorAtHit, EDiffuseIndirectMethod DiffuseIndirectMethod, ERDGPassFlags ComputePassFlags)
Definition LumenReflectionHardwareRayTracing.cpp:611
void TraceReflections(FRDGBuilder &GraphBuilder, const FScene *Scene, const FViewInfo &View, const FLumenSceneFrameTemporaries &FrameTemporaries, bool bTraceMeshObjects, const FSceneTextures &SceneTextures, const FLumenReflectionTracingParameters &ReflectionTracingParameters, const FLumenReflectionTileParameters &ReflectionTileParameters, const FLumenMeshSDFGridParameters &InMeshSDFGridParameters, bool bUseRadianceCache, EDiffuseIndirectMethod DiffuseIndirectMethod, const LumenRadianceCache::FRadianceCacheInterpolationParameters &RadianceCacheParameters, const FBoxSphereBounds &FirstPersonWorldSpaceRepresentationViewBounds, ERDGPassFlags ComputePassFlags)
Definition LumenReflectionTracing.cpp:1109
ERHIAccess
Definition RHIAccess.h:11
ERDGPassFlags
Definition RenderGraphDefinitions.h:128
#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_TEXTURE(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1708
#define SHADER_PARAMETER_SAMPLER(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1740
#define RDG_BUFFER_ACCESS(MemberName, Access)
Definition ShaderParameterMacros.h:1923
#define SHADER_PARAMETER_RDG_BUFFER_UAV(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1812
#define BEGIN_SHADER_PARAMETER_STRUCT(StructTypeName, DllStorage)
Definition ShaderParameterMacros.h:1482
#define SHADER_PARAMETER_STRUCT_REF(StructType, MemberName)
Definition ShaderParameterMacros.h:1909
#define SHADER_PARAMETER_RDG_TEXTURE_UAV(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1788
#define SHADER_PARAMETER_STRUCT_INCLUDE(StructType, MemberName)
Definition ShaderParameterMacros.h:1895
#define END_SHADER_PARAMETER_STRUCT()
Definition ShaderParameterMacros.h:1485
#define SHADER_PARAMETER(MemberType, MemberName)
Definition ShaderParameterMacros.h:1684
uint16_t uint16
Definition binka_ue_file_header.h:7
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition RenderGraphBuilder.h:49
Definition SceneView.h:2212
Definition SceneView.h:1425
Definition ScenePrivate.h:2875
Definition SceneRendering.h:1970
Definition SceneRendering.h:1132
Definition DeferredShadingRenderer.h:40
Definition LumenReflectionHardwareRayTracing.cpp:109
float GetDistantScreenTraceStepOffsetBias()
Definition LumenReflectionTracing.cpp:267
float GetSampleSceneColorDepthTreshold()
Definition LumenReflectionTracing.cpp:272
bool UseSurfaceCacheFeedback()
Definition LumenReflections.cpp:386
uint32 GetMaxReflectionBounces(const FViewInfo &View)
Definition LumenReflectionTracing.cpp:294
uint32 GetMaxRefractionBounces(const FViewInfo &View)
Definition LumenReflectionTracing.cpp:304
void SetupCompositeParameters(const FViewInfo &View, EReflectionsMethod ReflectionsMethod, LumenReflections::FCompositeParameters &OutParameters)
Definition LumenReflections.cpp:410
bool UseRadianceCacheSkyVisibility()
Definition LumenReflections.cpp:376
bool UseAsyncCompute(const FViewFamilyInfo &ViewFamily, EDiffuseIndirectMethod DiffuseIndirectMethod, EReflectionsMethod ReflectionsMethod)
Definition LumenReflections.cpp:391
float GetFarFieldSampleSceneColorNormalTreshold()
Definition LumenReflectionTracing.cpp:288
bool IsHitLightingForceEnabled(const FViewInfo &View, EDiffuseIndirectMethod DiffuseIndirectMethod)
Definition LumenReflectionHardwareRayTracing.cpp:76
bool UseDistantScreenTraces(const FViewInfo &View, bool bUseFarField, bool bUseRadianceCache)
Definition LumenReflectionTracing.cpp:259
bool UseRadianceCacheStochasticInterpolation()
Definition LumenReflections.cpp:381
float GetSampleSceneColorNormalTreshold()
Definition LumenReflectionTracing.cpp:277
bool UseRadianceCache()
Definition LumenReflections.cpp:371
bool UseFarField(const FSceneViewFamily &ViewFamily)
Definition LumenReflectionHardwareRayTracing.cpp:103
bool UseScreenTraces(const FViewInfo &View)
Definition LumenReflectionTracing.cpp:254
bool UseHitLighting(const FViewInfo &View, EDiffuseIndirectMethod DiffuseIndirectMethod)
Definition LumenReflectionHardwareRayTracing.cpp:81
FCompactedReflectionTraceParameters CompactTraces(FRDGBuilder &GraphBuilder, const FViewInfo &View, const FLumenCardTracingParameters &TracingParameters, const FLumenReflectionTracingParameters &ReflectionTracingParameters, const FLumenReflectionTileParameters &ReflectionTileParameters, bool bCullByDistanceFromCamera, float CompactionTracingEndDistanceFromCamera, float CompactionMaxTraceDistance, ERDGPassFlags ComputePassFlags, ETraceCompactionMode TraceCompactionMode=ETraceCompactionMode::Default, bool bSortByMaterial=false)
Definition LumenReflectionTracing.cpp:846
ETraceCompactionMode
Definition LumenReflections.h:135
@ FarField
Definition LumenReflections.h:137
@ MAX
Definition LumenReflections.h:140
@ HitLighting
Definition LumenReflections.h:138
@ Default
Definition LumenReflections.h:136
bool UseTranslucentRayTracing(const FViewInfo &View)
Definition LumenReflectionHardwareRayTracing.cpp:92
float GetFarFieldSampleSceneColorDepthTreshold()
Definition LumenReflectionTracing.cpp:283
Definition LumenSceneData.h:895
Definition SceneTextures.h:110
Definition BoxSphereBounds.h:25
Definition IntPoint.h:25