UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
LumenScreenProbeGather.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"
7#include "LumenTracingUtils.h"
9
11class FViewInfo;
12struct FEngineShowFlags;
13class FSceneViewState;
14enum class ERDGPassFlags : uint16;
15
16namespace Lumen
17{
19}
20
21namespace LumenRadianceCache
22{
25}
26
28
29// Must match LumenScreenProbeCommon.ush
31{
32 SH3,
34
35 MAX
36};
37
39{
48
51 extern bool UseImportanceSampling(const FViewInfo& View);
59 bool UseHitLighting(const FViewInfo& View, EDiffuseIndirectMethod DiffuseIndirectMethod);
64
65 // Must match LumenScreenProbeCommon.ush
68}
69
70// Must match SetupAdaptiveProbeIndirectArgsCS in usf
81
82// Must match TILE_CLASSIFICATION_NUM in usf
90
96
122
125
128
135
138
141
144
154
156 SHADER_PARAMETER_RDG_TEXTURE(Texture2D<float>, DownsampledSceneDepth)
157 SHADER_PARAMETER_RDG_TEXTURE(Texture2D<UNORM float3>, DownsampledSceneWorldNormal)
163
169
171{
173 FRDGBuilder& GraphBuilder,
174 const FViewInfo& View,
175 const FScreenProbeParameters& ScreenProbeParameters,
180 ERDGPassFlags ComputePassFlags = ERDGPassFlags::Compute);
181}
182
183extern void GenerateBRDF_PDF(
184 FRDGBuilder& GraphBuilder,
185 const FViewInfo& View,
186 const FSceneTextures& SceneTextures,
188 FRDGBufferSRVRef& BRDFProbabilityDensityFunctionSH,
189 FScreenProbeParameters& ScreenProbeParameters,
190 ERDGPassFlags ComputePassFlags);
191
193 FRDGBuilder& GraphBuilder,
194 const FViewInfo& View,
195 const FSceneTextures& SceneTextures,
196 const LumenRadianceCache::FRadianceCacheInterpolationParameters& RadianceCacheParameters,
198 FRDGBufferSRVRef BRDFProbabilityDensityFunctionSH,
199 FScreenProbeParameters& ScreenProbeParameters,
200 ERDGPassFlags ComputePassFlags);
201
202extern void TraceScreenProbes(
203 FRDGBuilder& GraphBuilder,
204 const FScene* Scene,
205 const FViewInfo& View,
208 const FSceneTextures& SceneTextures,
209 FRDGTextureRef LightingChannelsTexture,
210 const LumenRadianceCache::FRadianceCacheInterpolationParameters& RadianceCacheParameters,
211 FScreenProbeParameters& ScreenProbeParameters,
212 FLumenMeshSDFGridParameters& MeshSDFGridParameters,
213 ERDGPassFlags ComputePassFlags);
214
216 FRDGBuilder& GraphBuilder,
217 const FScene* Scene,
218 const FSceneTextureParameters& SceneTextures,
220 const FViewInfo& View,
223 const LumenRadianceCache::FRadianceCacheInterpolationParameters& RadianceCacheParameters,
224 ERDGPassFlags ComputePassFlags);
225
227 FRDGBuilder& GraphBuilder,
228 const FScene* Scene,
229 const FSceneTextures& SceneTextures,
233 const FBlueNoise& BlueNoise,
235 const FViewInfo& View,
238
239extern void FilterScreenProbes(
240 FRDGBuilder& GraphBuilder,
241 const FViewInfo& View,
242 const FSceneTextures& SceneTextures,
243 const FScreenProbeParameters& ScreenProbeParameters,
245 ERDGPassFlags ComputePassFlags);
246
248 FRDGBuilder& GraphBuilder,
249 const FScene* Scene,
250 const FViewInfo& View,
252 const FSceneTextures& SceneTextures,
253 FRDGTextureRef LightingChannelsTexture,
254 const FBlueNoise& BlueNoise,
257 ERDGPassFlags ComputePassFlags);
258
260{
261 LumenRadianceCache::FRadianceCacheInputs SetupRadianceCacheInputs(const FViewInfo& View);
262}
263
265 const FScene& Scene,
266 const FSceneViewFamily& ViewFamily,
267 const FPrimitiveSceneProxy& PrimitiveSceneProxy,
268 const FMaterial& Material);
269
271 const FScene& Scene,
272 const FSceneViewFamily& ViewFamily,
273 const FPrimitiveSceneProxy& PrimitiveSceneProxy,
274 const FMaterial& Material);
275
277 FRDGBuilder& GraphBuilder,
278 const FSceneRenderer& SceneRenderer,
279 FViewInfo& View,
280 const FSceneTextures& SceneTextures,
281 const LumenRadianceCache::FRadianceCacheMarkParameters* RadianceCacheMarkParameters);
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
EDiffuseIndirectMethod
Definition DeferredShadingRenderer.h:291
bool CanMaterialRenderInLumenFrontLayerTranslucencyGBufferPass(const FScene &Scene, const FSceneViewFamily &ViewFamily, const FPrimitiveSceneProxy &PrimitiveSceneProxy, const FMaterial &Material)
Definition LumenFrontLayerTranslucency.cpp:171
void FilterScreenProbes(FRDGBuilder &GraphBuilder, const FViewInfo &View, const FSceneTextures &SceneTextures, const FScreenProbeParameters &ScreenProbeParameters, FScreenProbeGatherParameters &GatherParameters, ERDGPassFlags ComputePassFlags)
Definition LumenScreenProbeFiltering.cpp:415
void RenderHardwareRayTracingShortRangeAO(FRDGBuilder &GraphBuilder, const FScene *Scene, const FSceneTextures &SceneTextures, const FSceneTextureParameters &SceneTextureParameters, const FLumenSceneFrameTemporaries &FrameTemporaries, const FLumenScreenSpaceBentNormalParameters &BentNormalParameters, const FBlueNoise &BlueNoise, float MaxScreenTraceFraction, const FViewInfo &View, FRDGTextureRef ShortRangeAO, uint32 NumPixelRays)
Definition LumenShortRangeAOHardwareRayTracing.cpp:155
EScreenProbeIndirectArgs
Definition LumenScreenProbeGather.h:72
EScreenProbeIntegrateTileClassification
Definition LumenScreenProbeGather.h:84
FLumenScreenSpaceBentNormalParameters ComputeScreenSpaceShortRangeAO(FRDGBuilder &GraphBuilder, const FScene *Scene, const FViewInfo &View, const FLumenSceneFrameTemporaries &FrameTemporaries, const FSceneTextures &SceneTextures, FRDGTextureRef LightingChannelsTexture, const FBlueNoise &BlueNoise, FVector2f MaxScreenTraceFraction, float ScreenTraceNoFallbackThicknessScale, ERDGPassFlags ComputePassFlags)
Definition LumenScreenSpaceBentNormal.cpp:388
bool CanMaterialRenderInLumenTranslucencyRadianceCacheMarkPass(const FScene &Scene, const FSceneViewFamily &ViewFamily, const FPrimitiveSceneProxy &PrimitiveSceneProxy, const FMaterial &Material)
Definition LumenTranslucencyRadianceCache.cpp:169
void LumenTranslucencyReflectionsMarkUsedProbes(FRDGBuilder &GraphBuilder, const FSceneRenderer &SceneRenderer, FViewInfo &View, const FSceneTextures &SceneTextures, const LumenRadianceCache::FRadianceCacheMarkParameters *RadianceCacheMarkParameters)
Definition LumenTranslucencyRadianceCache.cpp:333
int32 GLumenScreenProbeGatherNumMips
Definition LumenScreenProbeFiltering.cpp:50
void TraceScreenProbes(FRDGBuilder &GraphBuilder, const FScene *Scene, const FViewInfo &View, const FLumenSceneFrameTemporaries &FrameTemporaries, bool bTraceMeshObjects, const FSceneTextures &SceneTextures, FRDGTextureRef LightingChannelsTexture, const LumenRadianceCache::FRadianceCacheInterpolationParameters &RadianceCacheParameters, FScreenProbeParameters &ScreenProbeParameters, FLumenMeshSDFGridParameters &MeshSDFGridParameters, ERDGPassFlags ComputePassFlags)
Definition LumenScreenProbeTracing.cpp:650
void RenderHardwareRayTracingScreenProbe(FRDGBuilder &GraphBuilder, const FScene *Scene, const FSceneTextureParameters &SceneTextures, FScreenProbeParameters &CommonDiffuseParameters, const FViewInfo &View, const FLumenCardTracingParameters &TracingParameters, FLumenIndirectTracingParameters &DiffuseTracingParameters, const LumenRadianceCache::FRadianceCacheInterpolationParameters &RadianceCacheParameters, ERDGPassFlags ComputePassFlags)
Definition LumenScreenProbeHardwareRayTracing.cpp:451
EScreenProbeIrradianceFormat
Definition LumenScreenProbeGather.h:31
void GenerateImportanceSamplingRays(FRDGBuilder &GraphBuilder, const FViewInfo &View, const FSceneTextures &SceneTextures, const LumenRadianceCache::FRadianceCacheInterpolationParameters &RadianceCacheParameters, FRDGTextureRef BRDFProbabilityDensityFunction, FRDGBufferSRVRef BRDFProbabilityDensityFunctionSH, FScreenProbeParameters &ScreenProbeParameters, ERDGPassFlags ComputePassFlags)
Definition LumenScreenProbeImportanceSampling.cpp:287
void GenerateBRDF_PDF(FRDGBuilder &GraphBuilder, const FViewInfo &View, const FSceneTextures &SceneTextures, FRDGTextureRef &BRDFProbabilityDensityFunction, FRDGBufferSRVRef &BRDFProbabilityDensityFunctionSH, FScreenProbeParameters &ScreenProbeParameters, ERDGPassFlags ComputePassFlags)
Definition LumenScreenProbeImportanceSampling.cpp:239
@ Num
Definition MetalRHIPrivate.h:234
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 RDG_BUFFER_ACCESS(MemberName, Access)
Definition ShaderParameterMacros.h:1923
#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
uint8_t uint8
Definition binka_ue_file_header.h:8
uint16_t uint16
Definition binka_ue_file_header.h:7
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition MaterialShared.h:2058
Definition PrimitiveSceneProxy.h:296
Definition RenderGraphResources.h:1426
Definition RenderGraphBuilder.h:49
Definition RenderGraphResources.h:571
Definition SceneRendering.h:2080
Definition SceneView.h:2212
Definition ScenePrivate.h:746
Definition ScenePrivate.h:2875
Definition SceneRendering.h:1132
LumenRadianceCache::FRadianceCacheInputs SetupRadianceCacheInputs()
Definition LumenIrradianceFieldGather.cpp:129
Definition DeferredShadingRenderer.h:40
Definition LumenScreenProbeGather.cpp:677
Definition LumenScreenProbeGather.cpp:383
uint32 GetRequestedIntegrateDownsampleFactor()
Definition LumenScreenProbeGather.cpp:409
void SetupTileClassifyParameters(const FViewInfo &View, LumenScreenProbeGather::FTileClassifyParameters &OutParameters)
Definition LumenScreenProbeGather.cpp:564
bool UseImportanceSampling(const FViewInfo &View)
Definition LumenScreenProbeImportanceSampling.cpp:226
bool IsUsingDownsampledDepthAndNormal(const FViewInfo &View)
Definition LumenScreenProbeGather.cpp:440
bool UseHitLighting(const FViewInfo &View, EDiffuseIndirectMethod DiffuseIndirectMethod)
Definition LumenScreenProbeHardwareRayTracing.cpp:86
bool UseProbeTemporalFilter()
Definition LumenScreenProbeGather.cpp:510
constexpr uint32 IrradianceProbeWithBorderRes
Definition LumenScreenProbeGather.h:67
bool UseRadianceCacheSkyVisibility()
Definition LumenScreenProbeGather.cpp:671
EScreenProbeIrradianceFormat GetScreenProbeIrradianceFormat(const FEngineShowFlags &ShowFlags)
Definition LumenScreenProbeGather.cpp:520
bool UseRejectBasedOnNormal()
Definition LumenScreenProbeGather.cpp:574
bool UseProbeSpatialFilter()
Definition LumenScreenProbeGather.cpp:505
constexpr uint32 IrradianceProbeRes
Definition LumenScreenProbeGather.h:66
FCompactedTraceParameters CompactTraces(FRDGBuilder &GraphBuilder, const FViewInfo &View, const FScreenProbeParameters &ScreenProbeParameters, bool bCullByDistanceFromCamera, float CompactionTracingEndDistanceFromCamera, float CompactionMaxTraceDistance, bool bCompactForSkyApply, ERDGPassFlags ComputePassFlags=ERDGPassFlags::Compute)
Definition LumenScreenProbeTracing.cpp:576
int32 GetTracingOctahedronResolution(const FViewInfo &View)
Definition LumenScreenProbeGather.cpp:445
uint32 GetStateFrameIndex(const FSceneViewState *ViewState)
Definition LumenScreenProbeGather.cpp:387
bool UseScreenProbeExtraAO()
Definition LumenScreenProbeGather.cpp:532
int32 IsProbeTracingResolutionSupportedForImportanceSampling(int32 TracingResolution)
Definition LumenScreenProbeImportanceSampling.cpp:221
bool UseRadianceCache()
Definition LumenScreenProbeGather.cpp:666
Definition DeferredShadingRenderer.cpp:316
Definition ShowFlags.h:56
Definition LumenSceneData.h:895
Definition SceneTextures.h:110
Definition IntPoint.h:25