// Copyright Epic Games, Inc. All Rights Reserved. /*============================================================================= VirtualShadowMapProjection.h =============================================================================*/ #pragma once #include "CoreMinimal.h" #include "RenderGraphResources.h" #include "ScreenSpaceDenoise.h" class FVirtualShadowMapClipmap; enum class EVirtualShadowMapProjectionInputType { GBuffer = 0, HairStrands = 1 }; FRDGTextureRef RenderVirtualShadowMapProjection( FRDGBuilder& GraphBuilder, const FMinimalSceneTextures& SceneTextures, const FViewInfo& View, FVirtualShadowMapArray& VirtualShadowMapArray, const FIntRect ScissorRect, EVirtualShadowMapProjectionInputType InputType, const TSharedPtr& Clipmap); FRDGTextureRef RenderVirtualShadowMapProjection( FRDGBuilder& GraphBuilder, const FMinimalSceneTextures& SceneTextures, const FViewInfo& View, FVirtualShadowMapArray& VirtualShadowMapArray, const FIntRect ScissorRect, EVirtualShadowMapProjectionInputType InputType, FProjectedShadowInfo* ShadowInfo); FRDGTextureRef RenderVirtualShadowMapProjectionOnePass( FRDGBuilder& GraphBuilder, const FMinimalSceneTextures& SceneTextures, const FViewInfo& View, FVirtualShadowMapArray& VirtualShadowMapArray, EVirtualShadowMapProjectionInputType InputType); void CompositeVirtualShadowMapMask( FRDGBuilder& GraphBuilder, const FIntRect ScissorRect, const FRDGTextureRef Input, FRDGTextureRef OutputShadowMaskTexture);