61template<
typename VertexShaderType,
typename PixelShaderType,
typename PassParametersType,
typename SetParametersLambdaType>
77 RHICmdList.
SetViewport(0, 0, 0.0f, ViewportSize.
X, ViewportSize.
Y, 1.0f);
111 static bool ShouldCompilePermutation(const FGlobalShaderPermutationParameters& Parameters)
140 static bool ShouldCompilePermutation(const FGlobalShaderPermutationParameters& Parameters)
202 bool bIndirectLightingHistoryValid,
TGlobalResource< FEmptyVertexDeclaration, FRenderResource::EInitPhase::Pre > GEmptyVertexDeclaration
Definition CommonRenderResources.cpp:14
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_GLOBAL_SHADER(ShaderClass)
Definition GlobalShader.h:408
void TraceLumenHardwareRayTracedDirectLightingShadows(FRDGBuilder &GraphBuilder, const FScene *Scene, const FViewInfo &View, int32 ViewIndex, const FLumenSceneFrameTemporaries &FrameTemporaries, const FLumenDirectLightingStochasticData &StochasticData, const LumenSceneDirectLighting::FLightDataParameters &LumenLightData, FRDGBufferRef ShadowTraceIndirectArgs, FRDGBufferRef ShadowTraceAllocator, FRDGBufferRef ShadowTraces, FRDGBufferRef LightTileAllocator, FRDGBufferRef LightTiles, FRDGBufferUAVRef ShadowMaskTilesUAV, ERDGPassFlags ComputePassFlags)
Definition LumenSceneDirectLightingHardwareRayTracing.cpp:361
FRDGBufferSRVRef TraceLumenHardwareRayTracedDebug(FRDGBuilder &GraphBuilder, const FScene *Scene, const FViewInfo &View, int32 ViewIndex, const FLumenSceneFrameTemporaries &FrameTemporaries, ERDGPassFlags ComputePassFlags)
Definition LumenSceneDirectLightingHardwareRayTracing.cpp:488
ELumenLightType
Definition LumenSceneLighting.h:148
ELumenDispatchCardTilesIndirectArgsOffset
Definition LumenSceneLighting.h:168
void DrawQuadsToAtlas(FIntPoint ViewportSize, TShaderRefBase< VertexShaderType, FShaderMapPointerTable > VertexShader, TShaderRefBase< PixelShaderType, FShaderMapPointerTable > PixelShader, const PassParametersType *PassParameters, const FGlobalShaderMap *GlobalShaderMap, FRHIBlendState *BlendState, FRHICommandList &RHICmdList, SetParametersLambdaType &&SetParametersLambda, FRDGBufferRef DrawIndirectArgs, uint32 DrawIndirectArgOffset)
Definition LumenSceneLighting.h:62
const bool
Definition NetworkReplayStreaming.h:178
void SetGraphicsPipelineState(FRHICommandList &RHICmdList, const FGraphicsPipelineStateInitializer &Initializer, uint32 StencilRef, EApplyRendertargetOption ApplyFlags, bool bApplyAdditionalState)
Definition PipelineStateCache.cpp:1478
ERHIAccess
Definition RHIAccess.h:11
@ PT_RectList
Definition RHIDefinitions.h:844
@ PT_TriangleList
Definition RHIDefinitions.h:824
#define GRHISupportsRectTopology
Definition RHIGlobals.h:789
ERDGPassFlags
Definition RenderGraphDefinitions.h:128
bool DoesPlatformSupportLumenGI(EShaderPlatform Platform, bool bSkipProjectCheck)
Definition RenderUtils.cpp:2358
#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 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_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
void SetShaderParameters(FRHIBatchedShaderParameters &BatchedParameters, const FShaderParameterBindings &Bindings, const FShaderParametersMetadata *ParametersMetadata, const void *InParametersData)
Definition ShaderParameterStruct.cpp:883
#define SHADER_USE_PARAMETER_STRUCT(ShaderClass, ShaderParentClass)
Definition ShaderParameterStruct.h:62
#define SHADER_PERMUTATION_RANGE_INT(InDefineName, Start, Count)
Definition ShaderPermutation.h:499
#define SHADER_PERMUTATION_BOOL(InDefineName)
Definition ShaderPermutation.h:482
Definition LumenSceneLighting.h:99
Definition LumenSceneLighting.h:118
Definition GlobalShader.h:173
Definition GlobalShader.h:269
Definition RHIResources.h:4572
FBoundShaderStateInput BoundShaderState
Definition RHIResources.h:4754
FRHIBlendState * BlendState
Definition RHIResources.h:4755
FRHIRasterizerState * RasterizerState
Definition RHIResources.h:4756
FRHIDepthStencilState * DepthStencilState
Definition RHIResources.h:4757
EPrimitiveType PrimitiveType
Definition RHIResources.h:4760
Definition LightSceneInfo.h:208
Definition DeferredShadingRenderer.h:88
Definition LumenSceneLighting.h:26
FRDGBufferRef CardPageIndexAllocator
Definition LumenSceneLighting.h:35
EIndirectArgOffset
Definition LumenSceneLighting.h:29
FRDGBufferRef DispatchCardPageIndicesIndirectArgs
Definition LumenSceneLighting.h:38
uint32 MaxUpdateTiles
Definition LumenSceneLighting.h:41
FRDGBufferRef CardPageIndexData
Definition LumenSceneLighting.h:36
uint32 UpdateFactor
Definition LumenSceneLighting.h:42
FRDGBufferRef DrawCardPageIndicesIndirectArgs
Definition LumenSceneLighting.h:37
FIntPoint UpdateAtlasSize
Definition LumenSceneLighting.h:40
Definition LumenSceneData.h:1002
Definition RenderGraphResources.h:1426
Definition RenderGraphResources.h:1452
Definition RenderGraphResources.h:1321
Definition RenderGraphBuilder.h:49
Definition RenderGraphResources.h:571
Definition RHIResources.h:696
Definition RHICommandList.h:3819
void DrawPrimitiveIndirect(FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset)
Definition RHICommandList.h:4127
void SetViewport(float MinX, float MinY, float MinZ, float MaxX, float MaxY, float MaxZ)
Definition RHICommandList.h:4015
void ApplyCachedRenderTargets(FGraphicsPipelineStateInitializer &GraphicsPSOInit)
Definition RHICommandList.h:4048
Definition LumenSceneLighting.h:46
Definition SceneView.h:2212
Definition ScenePrivate.h:2875
Definition SceneRendering.h:1970
Definition SceneRendering.h:1132
static RHIParamRefType GetRHI()
Definition RHIStaticStates.h:57
Definition LumenSceneDirectLightingHardwareRayTracing.cpp:76
constexpr uint32 NumBatchableLightTypes
Definition LumenSceneLighting.h:232
float GetGlobalSDFShadowRayBias()
Definition LumenSceneDirectLighting.cpp:117
float GetMeshSDFShadowRayBias()
Definition LumenSceneDirectLighting.cpp:107
bool UseLightTilesPerLightType()
Definition LumenSceneDirectLighting.cpp:127
bool UseStochasticLighting(const FSceneViewFamily &ViewFamily)
Definition LumenSceneDirectLightingStochastic.inl:57
float GetHeightfieldShadowRayBias()
Definition LumenSceneDirectLighting.cpp:112
float GetHardwareRayTracingShadowRayBias()
Definition LumenSceneDirectLighting.cpp:122
Definition LumenSceneLighting.cpp:76
bool UseAsyncCompute(const FViewFamilyInfo &ViewFamily)
Definition LumenSceneLighting.cpp:210
Definition DeferredShadingRenderer.cpp:316
EPixelFormat GetNumFramesAccumulatedAtlasFormat()
Definition LumenSceneLighting.h:217
void BuildCardUpdateContext(FRDGBuilder &GraphBuilder, const FLumenSceneData &LumenSceneData, const TArray< FViewInfo > &Views, const FLumenSceneFrameTemporaries &FrameTemporaries, bool bIndirectLightingHistoryValid, FLumenCardUpdateContext &DirectLightingCardUpdateContext, FLumenCardUpdateContext &IndirectLightingCardUpdateContext, ERDGPassFlags ComputePassFlags)
Definition LumenSceneLighting.cpp:538
EPixelFormat GetDirectLightingAtlasFormat()
Definition LumenSceneDirectLighting.cpp:132
void SetDirectLightingDeferredLightUniformBuffer(const FViewInfo &View, const FLightSceneInfo *LightSceneInfo, TUniformBufferBinding< FDeferredLightUniformStruct > &UniformBuffer)
void SpliceCardPagesIntoTiles(FRDGBuilder &GraphBuilder, const FGlobalShaderMap *GloablShaderMap, const FLumenCardUpdateContext &CardUpdateContext, const TRDGUniformBufferRef< FLumenCardScene > &LumenCardSceneUniformBuffer, FLumenCardTileUpdateContext &OutCardTileUpdateContext, ERDGPassFlags ComputePassFlags)
Definition LumenSceneDirectLighting.cpp:306
EPixelFormat GetIndirectLightingAtlasFormat()
Definition LumenSceneDirectLighting.cpp:137
void CombineLumenSceneLighting(FScene *Scene, const FViewInfo &View, FRDGBuilder &GraphBuilder, const FLumenSceneFrameTemporaries &FrameTemporaries, const FLumenCardUpdateContext &CardUpdateContext, const FLumenCardTileUpdateContext &CardTileUpdateContext, ERDGPassFlags ComputePassFlags)
Definition LumenSceneLighting.cpp:169
Definition GlobalShader.h:73
Definition LumenSceneLighting.h:175
FRDGBufferRef CardTiles
Definition LumenSceneLighting.h:177
FRDGBufferRef DispatchCardTilesIndirectArgs
Definition LumenSceneLighting.h:178
FRDGBufferRef CardTileAllocator
Definition LumenSceneLighting.h:176
Definition LumenSceneLighting.h:158
FRDGTextureRef SceneDataTexture
Definition LumenSceneLighting.h:163
bool IsValid() const
Definition LumenSceneLighting.h:159
FRDGBufferRef CompactedLightSampleAllocator
Definition LumenSceneLighting.h:162
FRDGTextureRef LightSamples
Definition LumenSceneLighting.h:164
FRDGBufferRef CompactedLightSampleData
Definition LumenSceneLighting.h:161
Definition LumenSceneDirectLighting.cpp:1605
Definition LumenSceneData.h:895
Definition ShaderPermutation.h:229
IntType Y
Definition IntPoint.h:37
IntType X
Definition IntPoint.h:34