8#include "MegaLightsDefinitions.h"
104 FIntVector TranslucencyVolumeSampleBufferSize,
228 void GenerateSamples(
249 return bSamplesGenerated;
256 const int32 ViewIndex;
263 bool bSamplesGenerated =
false;
269 bool bGuideByHistory =
true;
270 bool bGuideAreaLightsByHistory =
true;
271 bool bVolumeGuideByHistory;
272 bool bTranslucencyVolumeGuideByHistory;
275 bool bTranslucencyVolumeDebug;
276 bool bUseLightFunctionAtlas;
279 bool bSubPixelShading;
280 bool bShouldRenderVolumetricFog;
281 bool bShouldRenderTranslucencyVolume;
283 int32 DebugTileClassificationMode = 0;
284 int32 VisualizeLightLoopIterationsMode = 0;
303 uint32 VisibleLightHashBufferSize;
305 FIntPoint VisibleLightHashViewMinInTiles;
306 FIntPoint VisibleLightHashViewSizeInTiles;
308 uint32 VolumeDownsampleFactor;
316 uint32 VolumeVisibleLightHashBufferSize;
319 FIntVector VolumeVisibleLightHashViewSizeInTiles;
322 uint32 TranslucencyVolumeDownsampleFactor;
324 FIntVector TranslucencyVolumeSampleBufferSize;
325 FIntVector TranslucencyVolumeDownsampledBufferSize;
330 uint32 TranslucencyVolumeVisibleLightHashBufferSize;
331 FIntVector TranslucencyVolumeVisibleLightHashTileSize;
332 FIntVector TranslucencyVolumeVisibleLightHashSizeInTiles;
355 FIntPoint HistoryVisibleLightHashViewMinInTiles = 0;
356 FIntPoint HistoryVisibleLightHashViewSizeInTiles = 0;
377 uint32 ReferenceShadingPassCount;
379 uint32 FirstPassStateFrameIndex;
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::Math::TVector4< float > FVector4f
Definition MathFwd.h:75
EMegaLightsInput
Definition MegaLightsInternal.h:82
@ TVC_MAX
Definition SceneView.h:839
#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 BEGIN_SHADER_PARAMETER_STRUCT(StructTypeName, DllStorage)
Definition ShaderParameterMacros.h:1482
#define SHADER_PARAMETER_STRUCT_REF(StructType, MemberName)
Definition ShaderParameterMacros.h:1909
#define SHADER_PARAMETER_STRUCT_INCLUDE(StructType, MemberName)
Definition ShaderParameterMacros.h:1895
#define SHADER_PARAMETER_RDG_UNIFORM_BUFFER(StructType, MemberName)
Definition ShaderParameterMacros.h:1823
#define END_SHADER_PARAMETER_STRUCT()
Definition ShaderParameterMacros.h:1485
#define SHADER_PARAMETER(MemberType, MemberName)
Definition ShaderParameterMacros.h:1684
Definition MegaLightsInternal.h:198
bool AreSamplesGenerated()
Definition MegaLightsInternal.h:247
uint32 GetReferenceShadingPassCount() const
Definition MegaLightsInternal.h:252
FMegaLightsViewContext(FRDGBuilder &InGraphBuilder, const int32 InViewIndex, const FViewInfo &InView, const FSceneViewFamily &InViewFamily, const FScene *InScene, const FSceneTextures &InSceneTextures, bool bInUseVSM)
Definition MegaLightsInternal.h:200
Definition MegaLights.h:28
Definition RenderGraphResources.h:1321
Definition RenderGraphBuilder.h:49
Definition RenderGraphResources.h:571
Definition SceneView.h:2212
Definition ScenePrivate.h:2875
Definition SceneRendering.h:1132
Definition VirtualShadowMapArray.h:291
Definition ArrayView.h:139
Definition HairStrandsData.h:476
Definition LightFunctionAtlas.cpp:122
Definition MegaLights.cpp:903
int32 GetDebugMode()
Definition MegaLights.cpp:927
bool UsesLightFunction()
Definition MegaLights.cpp:922
Definition MegaLights.cpp:871
bool UsesLightFunction()
Definition MegaLights.cpp:891
int32 GetDebugMode()
Definition MegaLights.cpp:896
Definition MegaLights.cpp:462
void RayTraceLightSamples(const FSceneViewFamily &ViewFamily, const FViewInfo &View, int32 ViewIndex, FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, const FVirtualShadowMapArray *VirtualShadowMapArray, const TArrayView< FRDGTextureRef > NaniteShadingMasks, const FIntPoint SampleBufferSize, FRDGTextureRef LightSamples, FRDGTextureRef LightSampleRays, FIntVector VolumeSampleBufferSize, FRDGTextureRef VolumeLightSamples, FRDGTextureRef VolumeLightSampleRays, FIntVector TranslucencyVolumeSampleBufferSize, TArrayView< FRDGTextureRef > TranslucencyVolumeLightSamples, TArrayView< FRDGTextureRef > TranslucencyVolumeLightSampleRays, const FMegaLightsParameters &MegaLightsParameters, const FMegaLightsVolumeParameters &MegaLightsVolumeParameters, const FMegaLightsVolumeParameters &MegaLightsTranslucencyVolumeParameters, EMegaLightsInput InputType, bool bDebug)
Definition MegaLightsRayTracing.cpp:1428
bool IsComplexTileType(ETileType TileType)
Definition MegaLights.cpp:822
TArray< int32 > GetShadingTileTypes(EMegaLightsInput InputType)
Definition MegaLights.cpp:832
bool UseTemporalFilter()
Definition MegaLightsDenoising.cpp:85
bool SupportsSpatialFilter(EMegaLightsInput InputType)
Definition MegaLights.cpp:751
bool IsDebugEnabledForShadingPass(int32 ShadingPassIndex, EShaderPlatform InPlatform)
Definition MegaLights.cpp:737
bool UseSpatialFilter()
Definition MegaLightsDenoising.cpp:80
bool IsRectLightTileType(ETileType TileType)
Definition MegaLights.cpp:801
void MarkVSMPages(const FViewInfo &View, int32 ViewIndex, FRDGBuilder &GraphBuilder, const FVirtualShadowMapArray &VirtualShadowMapArray, const FIntPoint SampleBufferSize, FRDGTextureRef LightSamples, FRDGTextureRef LightSampleRays, const FMegaLightsParameters &MegaLightsParameters, EMegaLightsInput InputType)
Definition MegaLightsRayTracing.cpp:1384
int32 GetDebugMode(EMegaLightsInput InputType)
Definition MegaLights.cpp:720
FIntPoint GetNumSamplesPerPixel2d(int32 NumSamplesPerPixel1d)
Definition MegaLights.cpp:677
EPixelFormat GetLightingDataFormat()
Definition MegaLights.cpp:499
ETileType
Definition MegaLightsInternal.h:143
@ ComplexSpecialShading_Rect_Textured
@ SimpleShading_Rect_Textured
@ ComplexShading_Rect_Textured
@ ComplexSpecialShading_Rect
@ SingleShading_Rect_Textured
FIntVector GetNumSamplesPerVoxel3d(int32 NumSamplesPerVoxel1d)
Definition MegaLights.cpp:703
const TCHAR * GetTileTypeString(ETileType TileType)
Definition MegaLights.cpp:775
void ModifyCompilationEnvironment(EShaderPlatform Platform, FShaderCompilerEnvironment &OutEnvironment)
Definition MegaLights.cpp:768
bool UseWaveOps(EShaderPlatform ShaderPlatform)
Definition MegaLights.cpp:761
bool IsTexturedLightTileType(ETileType TileType)
Definition MegaLights.cpp:814
Definition ShaderPrint.cpp:22
Definition RenderUtils.cpp:2080
Definition LumenSceneData.h:895
Definition SceneTextures.h:110
Definition ShaderCore.h:544
static const TIntVector3 ZeroValue
Definition IntVector.h:45