149 void CollectPSOInitializersForEachShadowDepthType(
154 bool bCastShadowAsTwoSided,
157 void CollectPSOInitializersForEachStreamSetup(
166 void CollectPSOInitializersInternal(
370 void ComputeScissorRectOptim();
467 int32 SubjectPrimitiveComponentIndex = -1;
471 int32 ExplicitNaniteInstanceLastChunkSize = 0;
487 bool SetupPerObjectProjection(
500 void SetupWholeSceneProjection(
512 void SetupClipmapProjection(
529 float GetShaderReceiverDepthBias()
const;
539 int32(
X + BorderSize + ResolutionX),
540 int32(
Y + BorderSize + ResolutionY),
550 int32(
X + 2 * BorderSize + ResolutionX),
551 int32(
Y + 2 * BorderSize + ResolutionY),
565 bool UseShadowStencilCulling(
const FViewInfo& View)
const;
568 int32 ShadowMapChannel,
579 void RenderProjection(
589 void RenderProjectionInternal(
603 void RenderMobileModulatedShadowProjection(
623 DistanceFieldShadowViewGPUData&
SDFShadowViewGPUData = CachedDistanceFieldShadowViewGPUData.FindOrAdd(View);
643 void RenderRayTracedDistanceFieldProjection(
654 void RenderOnePassPointLightProjection(
673 uint64 AddSubjectPrimitive_AnyThread(
682 void FinalizeAddSubjectPrimitive(
691 bool HasSubjectPrims()
const;
721 bool SubjectsVisible(
const FViewInfo& View)
const;
724 void ClearTransientArrays();
735 return GetScreenToShadowMatrix(View,
X,
Y, ResolutionX, ResolutionY);
738 FVector4f GetClipToShadowBufferUvScaleBias()
const;
752 if (HasVirtualShadowMap())
756 return RenderTargets.
GetSize();
760 void UpdateShaderDepthBias();
763 float ComputeTransitionSize()
const;
765 bool IsWholeSceneDirectionalShadow()
const;
766 bool IsWholeScenePointLightShadow()
const;
770 return IsWholeSceneDirectionalShadow() || (bPreShadow && bDirectionalLight);
789 if (bDirectionalLight)
793 else if (bOnePassPointLightShadow)
802 return ShadowDepthType;
807 return ::GetShadowMeshPassType(GetShadowDepthType());
826 bool ShouldUseCSMScissorOptim()
const;
842 PrimitiveArrayType DynamicSubjectPrimitives;
844 PrimitiveArrayType ReceiverPrimitives;
846 PrimitiveArrayType SubjectTranslucentPrimitives;
848 PrimitiveArrayType SubjectHeterogeneousVolumePrimitives;
861 int32 NumDynamicSubjectMeshElements;
864 int32 NumSubjectMeshCommandBuildRequestElements;
873 bool NeedsShaderInitialisation;
875 float MaxNonFarCascadeDistance = -1.0f;
881 float ShaderDepthBias;
882 float ShaderSlopeDepthBias;
883 float ShaderMaxSlopeDepthBias;
886 struct DistanceFieldShadowViewGPUData
898 void CopyCachedShadowMap(
905 float GetLODDistanceFactor()
const;
920 void AddCachedMeshDrawCommandsForPass(
933 void AddCachedMeshDrawCommands_AnyThread(
960 bool ShouldDrawStaticMeshes_AnyThread(
968 void GetShadowTypeNameForDrawEvent(FString& TypeName)
const;
971 int32 UpdateShadowCastingObjectBuffers()
const;
974 bool GatherDynamicMeshElementsArray(
983 bool GatherDynamicHeterogeneousVolumeMeshElementsArray(
995 void SetupProjectionStencilMask(
1012 friend class FShadowProjectionPS;
1037 InvReceiverInnerMatrix.Bind(ParameterMap,
TEXT(
"InvReceiverInnerMatrix"));
1094 ShadowBufferSize.Bind(ParameterMap,
TEXT(
"ShadowBufferSize"));
1098 FadePlaneOffset.Bind(ParameterMap,
TEXT(
"FadePlaneOffset"));
1102 PerObjectShadowFadeStart.Bind(ParameterMap,
TEXT(
"PerObjectShadowFadeStart"));
1103 InvPerObjectShadowFadeLength.Bind(ParameterMap,
TEXT(
"InvPerObjectShadowFadeLength"));
1144 if (ShadowBufferSize.IsBound())
1236template<u
int32 Quality,
bool bUseFadePlane = false,
bool bModulatedShadows = false,
bool bUseTransmission = false,
bool SubPixelShadow = false>
1293 bool bUseLightFunctionAtlas)
1329template<u
int32 Quality>
1357 bool bUseLightFunctionAtlas)
1396template<u
int32 Quality>
1425 bool bUseLightFunctionAtlas)
1557template <u
int32 Quality,
bool bUseTransmission,
bool bUseSubPixel>
1674 FPlane(0, 0, -(WAxis.
Z * MinZ + WAxis.W) / (MaxZ - MinZ), WAxis.
Z),
1675 FPlane(0, 0, MaxZ *(WAxis.
Z * MinZ + WAxis.W) / (MaxZ - MinZ), WAxis.W)
1685 FPlane( 0.0f, 0.0f, 1.0f, WAxis.W)
1693 M[2][2] = -(
M[2][3] * MinZ +
M[3][3] ) / ( MaxZ - MinZ );
1694 M[3][2] = MaxZ * -
M[2][2];
1700template<u
int32 Quality,
bool bUseFadePlane>
1730 bool bUseLightFunctionAtlas)
1754template<u
int32 Quality,
bool bUseFadePlane>
1785 bool bUseLightFunctionAtlas)
1809 return (
B.ResolutionX *
B.ResolutionY <
A.ResolutionX *
A.ResolutionY);
1822 if (
A.IsWholeSceneDirectionalShadow())
1824 if (
B.IsWholeSceneDirectionalShadow())
1826 if (
A.bRayTracedDistanceField !=
B.bRayTracedDistanceField)
1829 if (!
A.bRayTracedDistanceField &&
B.bRayTracedDistanceField)
1834 if (
A.bRayTracedDistanceField && !
B.bRayTracedDistanceField)
1842 return (
B.CascadeSettings.ShadowSplitIndex <
A.CascadeSettings.ShadowSplitIndex);
1851 if (
B.IsWholeSceneDirectionalShadow())
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define check(expr)
Definition AssertionMacros.h:314
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define FORCEINLINE_DEBUGGABLE
Definition CoreMiscDefines.h:74
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
FTexture * GBlackTextureDepthCube
Definition GlobalRenderResources.cpp:564
#define FVector
Definition IOSSystemIncludes.h:8
void SetDeferredLightParameters(FRHIBatchedShaderParameters &BatchedParameters, const TShaderUniformBufferParameter< FDeferredLightUniformStruct > &DeferredLightUniformBufferParameter, const FLightSceneInfo *LightSceneInfo, const FSceneView &View, bool bUseLightFunctionAtlas)
Definition LightRendering.h:42
UE::Math::TVector2< float > FVector2f
Definition MathFwd.h:74
UE::Math::TVector< float > FVector3f
Definition MathFwd.h:73
UE::Math::TVector4< double > FVector4
Definition MathFwd.h:49
UE::Math::TVector2< double > FVector2d
Definition MathFwd.h:61
UE::Math::TVector4< float > FVector4f
Definition MathFwd.h:75
FInt32Point FIntPoint
Definition MathFwd.h:124
UE::Math::TMatrix< float > FMatrix44f
Definition MathFwd.h:77
#define LAYOUT_FIELD(T, Name,...)
Definition MemoryLayout.h:471
#define DECLARE_TYPE_LAYOUT(T, Interface)
Definition MemoryLayout.h:557
EMeshDrawCommandCullingPayloadFlags
Definition MeshPassProcessor.h:1655
ERasterizerCullMode
Definition RHIDefinitions.h:369
ERasterizerFillMode
Definition RHIDefinitions.h:358
#define DECLARE_GPU_DRAWCALL_STAT_NAMED_EXTERN(StatName, NameString)
Definition RealtimeGPUProfiler.h:258
RENDERCORE_API bool MobileUsesFullDepthPrepass(const FStaticShaderPlatform Platform)
Definition RenderUtils.cpp:629
bool UseCachedMeshDrawCommands()
Definition SceneRendering.cpp:166
@ LightType_Spot
Definition SceneTypes.h:99
@ LightType_Directional
Definition SceneTypes.h:97
#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 END_GLOBAL_SHADER_PARAMETER_STRUCT
Definition ShaderParameterMacros.h:1669
#define SHADER_PARAMETER_ARRAY(MemberType, MemberName, ArrayDecl)
Definition ShaderParameterMacros.h:1696
#define SHADER_PARAMETER_SAMPLER(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1740
#define BEGIN_SHADER_PARAMETER_STRUCT(StructTypeName, DllStorage)
Definition ShaderParameterMacros.h:1482
#define SHADER_PARAMETER_RDG_TEXTURE_UAV(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1788
#define BEGIN_GLOBAL_SHADER_PARAMETER_STRUCT
Definition ShaderParameterMacros.h:1663
#define END_SHADER_PARAMETER_STRUCT()
Definition ShaderParameterMacros.h:1485
#define SHADER_PARAMETER_STRUCT(StructType, MemberName)
Definition ShaderParameterMacros.h:1847
#define SHADER_PARAMETER(MemberType, MemberName)
Definition ShaderParameterMacros.h:1684
void SetTextureParameter(FRHIBatchedShaderParameters &BatchedParameters, const FShaderResourceParameter &Parameter, FRHITexture *TextureRHI)
Definition ShaderParameterUtils.h:77
void SetUniformBufferParameter(FRHIBatchedShaderParameters &BatchedParameters, const FShaderUniformBufferParameter &Parameter, FRHIUniformBuffer *UniformBufferRHI)
Definition ShaderParameterUtils.h:207
void SetShaderValue(FRHIBatchedShaderParameters &BatchedParameters, const FShaderParameter &Parameter, const ParameterType &Value, uint32 ElementIndex=0)
Definition ShaderParameterUtils.h:24
void SetSamplerParameter(FRHIBatchedShaderParameters &BatchedParameters, const FShaderResourceParameter &Parameter, FRHISamplerState *SamplerStateRHI)
Definition ShaderParameterUtils.h:94
void SetUniformBufferParameterImmediate(FRHIBatchedShaderParameters &BatchedParameters, const TShaderUniformBufferParameter< TBufferStruct > &Parameter, const TBufferStruct &UniformBufferValue)
Definition ShaderParameterUtils.h:246
#define DECLARE_SHADER_TYPE(ShaderClass, ShaderMetaTypeShortcut,...)
Definition Shader.h:1688
EMeshPass::Type GetShadowMeshPassType(EShadowDepthType ShadowDepthType)
Definition ShadowDepthRendering.cpp:2321
void OverrideWithDefaultMaterialForShadowDepth(const FMaterialRenderProxy *&InOutMaterialRenderProxy, const FMaterial *&InOutMaterialResource, ERHIFeatureLevel::Type InFeatureLevel)
EShadowDepthRenderMode
Definition ShadowRendering.h:74
@ ShadowDepthRenderMode_EmissiveOnly
Definition ShadowRendering.h:79
@ ShadowDepthRenderMode_Normal
Definition ShadowRendering.h:76
@ ShadowDepthRenderMode_GIBlockingVolumes
Definition ShadowRendering.h:82
TGlobalResource< FEmptyTranslucentSelfShadowUniformBuffer > GEmptyTranslucentSelfShadowUniformBuffer
Definition ShadowRendering.cpp:2613
EShadowProjectionVertexShaderFlags
Definition ShadowRendering.h:1016
void DrawStencilingCone(const FMatrix &ConeToWorld, float ConeAngle, float SphereRadius, const FVector &PreViewTranslation)
bool IsShadowCacheModeOcclusionQueryable(EShadowDepthCacheMode CacheMode)
Definition ShadowRendering.h:188
void SetupTranslucentSelfShadowUniformParameters(const FProjectedShadowInfo *ShadowInfo, FTranslucentSelfShadowUniformParameters &OutParameters)
Definition ShadowRendering.cpp:2530
EShadowMeshSelection
Definition ShadowRendering.h:106
EShadowDepthCacheMode
Definition ShadowRendering.h:181
@ SDCM_Uncached
Definition ShadowRendering.h:185
@ SDCM_StaticPrimitivesOnly
Definition ShadowRendering.h:183
@ SDCM_CSMScrolling
Definition ShadowRendering.h:184
@ SDCM_MovablePrimitivesOnly
Definition ShadowRendering.h:182
TFunctionRef< void(FRHICommandList &RHICmdList, bool bFirst)> FBeginShadowRenderPassFunction
Definition ShadowRendering.h:246
EShadowDepthType
Definition ShadowRendering.h:86
void GetOnePassPointShadowProjectionParameters(FRDGBuilder &GraphBuilder, const FProjectedShadowInfo *ShadowInfo, FOnePassPointShadowProjection &OutParameters)
Definition ShadowRendering.cpp:278
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
TGlobalResource< FSystemTextures > GSystemTextures
Definition SystemTextures.cpp:146
uint32 PointerHash(const void *Key)
Definition TypeHash.h:91
Definition MeshPassProcessor.h:1692
RENDERER_API void Commit()
Definition GPUScene.cpp:282
Definition GPUScene.h:217
FShader::CompiledShaderInitializerType CompiledShaderInitializerType
Definition GlobalShader.h:91
Definition GlobalShader.h:269
static void ModifyCompilationEnvironment(const FGlobalShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &Environment)
Definition GlobalShader.h:289
Definition InstanceCullingManager.h:45
Definition LightSceneInfo.h:36
Definition LightSceneInfo.h:208
FLightSceneProxy * Proxy
Definition LightSceneInfo.h:223
Definition LightSceneProxy.h:43
const FLinearColor & GetModulatedShadowColor() const
Definition LightSceneProxy.h:228
virtual float GetLightSourceAngle() const
Definition LightSceneProxy.h:73
FVector4 GetPosition() const
Definition LightSceneProxy.h:193
FVector GetDirection() const
Definition LightSceneProxy.h:191
uint8 GetLightType() const
Definition LightSceneProxy.h:235
Definition MaterialRenderProxy.h:102
Definition MaterialShared.h:2058
Definition MeshElementCollector.h:26
Definition MeshPassProcessor.h:1670
Definition MeshPassProcessor.h:2199
Definition ShadowRendering.h:1449
void Bind(const FShaderParameterMap &ParameterMap)
Definition ShadowRendering.h:1453
void Set(FRHIBatchedShaderParameters &BatchedParameters, const FSceneView &View, const FProjectedShadowInfo *ShadowInfo) const
Definition ShadowRendering.h:1463
Definition MeshDrawCommands.h:114
Definition SceneManagement.h:1040
Definition PrimitiveDrawInterface.h:19
Definition PrimitiveSceneInfo.h:201
Definition PrimitiveSceneInfo.h:266
Definition PrimitiveSceneProxy.h:296
Definition ShadowRendering.h:279
TArray< FMatrix > OnePassShadowViewMatrices
Definition ShadowRendering.h:445
uint32 bHairStrandsDeepShadow
Definition ShadowRendering.h:424
const FPrimitiveSceneInfo * GetParentSceneInfo() const
Definition ShadowRendering.h:780
TArray< FPlane, TInlineAllocator< 4 > > CSMScrollingExtraCullingPlanes
Definition ShadowRendering.h:461
TArray< FMatrix > OnePassShadowViewProjectionMatrices
Definition ShadowRendering.h:442
float InvMaxSubjectDepth
Definition ShadowRendering.h:328
void ResetRayTracedDistanceFieldShadow(const FViewInfo *View)
Definition ShadowRendering.h:621
EShadowDepthCacheMode CacheMode
Definition ShadowRendering.h:297
uint32 ResolutionY
Definition ShadowRendering.h:361
uint32 bTransmission
Definition ShadowRendering.h:421
uint32 ResolutionX
Definition ShadowRendering.h:360
FMatrix44f InvReceiverInnerMatrix
Definition ShadowRendering.h:326
float MinPreSubjectZ
Definition ShadowRendering.h:343
uint32 bDirectionalLight
Definition ShadowRendering.h:391
bool HasVirtualShadowMap() const
Definition ShadowRendering.h:810
float GetMaxNonFarCascadeDistance() const
Definition ShadowRendering.h:814
void BuildRenderingCommands(FRDGBuilder &GraphBuilder, FGPUScene &GPUScene, FInstanceCullingDrawParams &InstanceCullingDrawParams)
Definition ShadowRendering.h:816
FMatrix ViewToClipInner
Definition ShadowRendering.h:314
uint32 bRendered
Definition ShadowRendering.h:382
uint32 bPreShadow
Definition ShadowRendering.h:412
FMatrix OnePassShadowFaceProjectionMatrix
Definition ShadowRendering.h:448
float InvPerObjectShadowFadeLength
Definition ShadowRendering.h:452
uint32 bVSM
Definition ShadowRendering.h:397
TArray< const FPrimitiveSceneInfo *, SceneRenderingAllocator > PrimitiveArrayType
Definition ShadowRendering.h:281
uint32 bWholeSceneShadow
Definition ShadowRendering.h:400
FMatrix GetScreenToShadowMatrix(const FSceneView &View) const
Definition ShadowRendering.h:733
uint32 bAllocatedInPreshadowCache
Definition ShadowRendering.h:385
float ComputeTransitionSize() const
Definition ShadowRendering.cpp:1957
float GetShaderSlopeDepthBias() const
Definition ShadowRendering.h:527
EGatherDynamicMeshElementsPass
Definition ShadowRendering.h:699
TSharedPtr< FVirtualShadowMapClipmap > VirtualShadowMapClipmap
Definition ShadowRendering.h:439
TArray< float, TInlineAllocator< 2 > > FadeAlphas
Definition ShadowRendering.h:376
uint32 bShouldRenderVSM
Definition ShadowRendering.h:431
TSharedPtr< FVirtualShadowMapPerLightCacheEntry > VirtualShadowMapPerLightCacheEntry
Definition ShadowRendering.h:438
float GetShaderReceiverDepthBias() const
Definition ShadowRendering.cpp:2011
FViewInfo * DependentView
Definition ShadowRendering.h:300
friend uint32 GetTypeHash(const FProjectedShadowInfo *ProjectedShadowInfo)
Definition ShadowRendering.h:727
FConvexVolume CasterOuterFrustum
Definition ShadowRendering.h:338
EMeshPass::Type GetTargetMeshPassType() const
Definition ShadowRendering.h:805
uint32 bOnePassPointLightShadow
Definition ShadowRendering.h:394
float CSMScrollingZOffset
Definition ShadowRendering.h:455
float MaxScreenPercent
Definition ShadowRendering.h:373
bool ShouldClampToNearPlane() const
Definition ShadowRendering.h:768
FMatrix ViewToClipOuter
Definition ShadowRendering.h:317
uint32 bAllocated
Definition ShadowRendering.h:379
FShadowMapRenderTargets RenderTargets
Definition ShadowRendering.h:295
FVector4f OverlappedUVOnCurrentShadowMap
Definition ShadowRendering.h:458
FVector PreShadowTranslation
Definition ShadowRendering.h:306
FSphere ShadowBounds
Definition ShadowRendering.h:345
uint32 bVolumetricShadow
Definition ShadowRendering.h:434
void SetStateForDepth(FMeshPassProcessorRenderState &DrawRenderState) const
FMatrix44f TranslatedWorldToClipOuterMatrix
Definition ShadowRendering.h:324
const TArray< FMeshBatchAndRelevance, SceneRenderingAllocator > & GetDynamicSubjectHeterogeneousVolumeMeshElements() const
Definition ShadowRendering.h:828
int32 ShadowId
Definition ShadowRendering.h:303
FConvexVolume ReceiverInnerFrustum
Definition ShadowRendering.h:341
uint32 bRayTracedDistanceField
Definition ShadowRendering.h:406
FVector4f OverlappedUVOnCachedShadowMap
Definition ShadowRendering.h:457
FIntRect GetOuterViewRect() const
Definition ShadowRendering.h:545
uint32 bPerObjectOpaqueShadow
Definition ShadowRendering.h:418
FIntPoint GetShadowBufferResolution() const
Definition ShadowRendering.h:750
TArray< int32, TInlineAllocator< 6 > > ViewIds
Definition ShadowRendering.h:473
float GetShaderMaxSlopeDepthBias() const
Definition ShadowRendering.h:528
FLightSceneInfo & GetLightSceneInfo() const
Definition ShadowRendering.h:774
uint32 X
Definition ShadowRendering.h:353
uint32 bTranslucentShadow
Definition ShadowRendering.h:403
FParallelMeshDrawCommandPass & GetShadowDepthPass()
Definition ShadowRendering.h:812
FIntRect ScissorRectOptim
Definition ShadowRendering.h:367
float PerObjectShadowFadeStart
Definition ShadowRendering.h:451
FMatrix TranslatedWorldToView
Definition ShadowRendering.h:311
uint32 bDepthsCached
Definition ShadowRendering.h:388
FIntRect GetInnerViewRect() const
Definition ShadowRendering.h:534
uint32 bNaniteGeometry
Definition ShadowRendering.h:427
uint32 Y
Definition ShadowRendering.h:354
uint32 bSelfShadowOnly
Definition ShadowRendering.h:415
EShadowDepthType GetShadowDepthType() const
Definition ShadowRendering.h:785
FViewInfo * ShadowDepthView
Definition ShadowRendering.h:292
float MaxSubjectZ
Definition ShadowRendering.h:334
uint32 BorderSize
Definition ShadowRendering.h:364
const FLightSceneInfoCompact & GetLightSceneInfoCompact() const
Definition ShadowRendering.h:775
FShadowCascadeSettings CascadeSettings
Definition ShadowRendering.h:347
uint32 bContainsNaniteSubjects
Definition ShadowRendering.h:430
float GetShaderDepthBias() const
Definition ShadowRendering.h:526
FMatrix44f TranslatedWorldToClipInnerMatrix
Definition ShadowRendering.h:323
uint32 bCapsuleShadow
Definition ShadowRendering.h:409
float MinSubjectZ
Definition ShadowRendering.h:335
Definition RenderGraphResources.h:1426
Definition RenderGraphResources.h:1321
Definition RenderGraphBuilder.h:49
Definition RenderGraphResources.h:571
Definition RHIResources.h:696
Definition RHICommandList.h:455
Definition RHICommandList.h:3819
Definition RHIResources.h:671
Definition RHIResources.h:2153
Definition RefCounting.h:252
virtual FScene * GetRenderScene()=0
Definition SceneRendering.h:2080
Definition SceneView.h:2212
FSceneInterface * Scene
Definition SceneView.h:2321
Definition SceneView.h:1425
const FSceneViewFamily * Family
Definition SceneView.h:1427
FViewMatrices ViewMatrices
Definition SceneView.h:1464
Definition ScenePrivate.h:2875
Definition ShaderCore.h:323
TMap< FString, FParameterAllocation > ParameterMap
Definition ShaderCore.h:367
Definition ShaderParameters.h:56
Definition ShaderParameters.h:87
Definition SceneManagement.h:946
float FadePlaneLength
Definition SceneManagement.h:969
float FadePlaneOffset
Definition SceneManagement.h:966
float SplitNear
Definition SceneManagement.h:952
float SplitFar
Definition SceneManagement.h:955
Definition ShadowDepthRendering.cpp:429
Definition ShadowRendering.h:116
FMeshPassProcessorRenderState PassDrawRenderState
Definition ShadowRendering.h:129
Definition ShadowDepthRendering.cpp:260
Definition SceneRendering.h:1841
Definition ShadowRendering.h:210
FShadowMapRenderTargets()
Definition ShadowRendering.h:215
FIntPoint GetSize() const
Definition ShadowRendering.h:219
TArray< IPooledRenderTarget *, SceneRenderingAllocator > ColorTargets
Definition ShadowRendering.h:212
void CopyReferencesFromRenderTargets(const FShadowMapRenderTargetsRefCounted &SourceTargets)
Definition ShadowRendering.h:232
IPooledRenderTarget * DepthTarget
Definition ShadowRendering.h:213
Definition ShadowRendering.h:1067
FShadowProjectionPixelShaderInterface(const ShaderMetaType::CompiledShaderInitializerType &Initializer)
Definition ShadowRendering.h:1079
FShadowProjectionPixelShaderInterface()
Definition ShadowRendering.h:1071
Definition ShadowRendering.h:1086
void Set(FRHIBatchedShaderParameters &BatchedParameters, const FSceneView &View, const FProjectedShadowInfo *ShadowInfo, bool bModulatedShadows, bool bUseFadePlane, bool SubPixelShadow)
Definition ShadowRendering.h:1108
void Bind(const FShader::CompiledShaderInitializerType &Initializer)
Definition ShadowRendering.h:1089
Definition ShadowRendering.h:1026
FShadowVolumeBoundProjectionVS()
Definition ShadowRendering.h:1030
FShadowVolumeBoundProjectionVS(const ShaderMetaType::CompiledShaderInitializerType &Initializer)
Definition ShadowRendering.h:1031
Definition StaticMeshBatch.h:40
Definition StaticMeshBatch.h:16
Definition LightRendering.h:257
FTextureRHIRef TextureRHI
Definition RenderResource.h:358
Definition SceneRendering.h:1132
FGPUScenePrimitiveCollector DynamicPrimitiveCollector
Definition SceneRendering.h:1813
Definition VirtualShadowMapCacheManager.h:259
Definition VirtualShadowMapArray.h:291
Definition VirtualShadowMapCacheManager.h:93
static constexpr uint32 VirtualMaxResolutionXY
Definition VirtualShadowMapArray.h:78
Definition SceneRendering.h:211
Definition SceneManagement.h:1047
Definition IConsoleManager.h:558
Definition Renderer.Build.cs:6
Definition ArrayView.h:139
UE_FORCEINLINE_HINT SizeType AddUninitialized()
Definition Array.h:1664
SizeType AddZeroed()
Definition Array.h:2755
Definition ConcurrentLinearAllocator.h:571
Definition ShadowRendering.h:1702
LAYOUT_FIELD(FShaderParameter, PCSSParameters)
TDirectionalPercentageCloserShadowProjectionPS()
Definition ShadowRendering.h:1706
TDirectionalPercentageCloserShadowProjectionPS(const ShaderMetaType::CompiledShaderInitializerType &Initializer)
Definition ShadowRendering.h:1707
static bool ShouldCompilePermutation(const FGlobalShaderPermutationParameters &Parameters)
Definition ShadowRendering.h:1719
void SetParameters(FRHIBatchedShaderParameters &BatchedParameters, int32 ViewIndex, const FSceneView &View, const FProjectedShadowInfo *ShadowInfo, bool bUseLightFunctionAtlas)
Definition ShadowRendering.h:1725
static void ModifyCompilationEnvironment(const FGlobalShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition ShadowRendering.h:1713
Definition AssetRegistryState.h:50
Definition RenderResource.h:543
Definition UnrealString.h.inl:34
Definition ShadowRendering.h:1331
LAYOUT_FIELD(FShaderUniformBufferParameter, MobileBasePassUniformBuffer)
LAYOUT_FIELD(FShaderParameter, ModulatedShadowColorParameter)
static bool ShouldCompilePermutation(const FGlobalShaderPermutationParameters &Parameters)
Definition ShadowRendering.h:1343
void SetParameters(FRHIBatchedShaderParameters &BatchedParameters, int32 ViewIndex, const FSceneView &View, const FProjectedShadowInfo *ShadowInfo, bool bUseLightFunctionAtlas)
Definition ShadowRendering.h:1352
TModulatedShadowProjection()
Definition ShadowRendering.h:1348
static void ModifyCompilationEnvironment(const FGlobalShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition ShadowRendering.h:1335
Definition ShadowRendering.h:1559
TOnePassPointShadowProjectionPS(const ShaderMetaType::CompiledShaderInitializerType &Initializer)
Definition ShadowRendering.h:1565
static void ModifyCompilationEnvironment(const FGlobalShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition ShadowRendering.h:1579
void SetParameters(FRHIBatchedShaderParameters &BatchedParameters, int32 ViewIndex, const FViewInfo &View, const FProjectedShadowInfo *ShadowInfo, FRHIUniformBuffer *HairStrandsUniformBuffer)
Definition ShadowRendering.h:1604
TOnePassPointShadowProjectionPS()
Definition ShadowRendering.h:1563
static bool ShouldCompilePermutation(const FGlobalShaderPermutationParameters &Parameters)
Definition ShadowRendering.h:1594
Definition ShadowRendering.h:1398
void SetParameters(FRHIBatchedShaderParameters &BatchedParameters, int32 ViewIndex, const FSceneView &View, const FProjectedShadowInfo *ShadowInfo, bool bUseLightFunctionAtlas)
Definition ShadowRendering.h:1420
TShadowProjectionFromTranslucencyPS(const ShaderMetaType::CompiledShaderInitializerType &Initializer)
Definition ShadowRendering.h:1415
static void ModifyCompilationEnvironment(const FGlobalShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition ShadowRendering.h:1402
static bool ShouldCompilePermutation(const FGlobalShaderPermutationParameters &Parameters)
Definition ShadowRendering.h:1408
TShadowProjectionFromTranslucencyPS()
Definition ShadowRendering.h:1413
Definition ShadowRendering.h:1238
static bool ShouldCompilePermutation(const FGlobalShaderPermutationParameters &Parameters)
Definition ShadowRendering.h:1261
void SetParameters(FRHIBatchedShaderParameters &BatchedParameters, int32 ViewIndex, const FSceneView &View, const FProjectedShadowInfo *ShadowInfo, bool bUseLightFunctionAtlas)
Definition ShadowRendering.h:1288
static void ModifyCompilationEnvironment(const FGlobalShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition ShadowRendering.h:1271
LAYOUT_FIELD(FShaderParameter, ShadowSharpen)
TShadowProjectionPS()
Definition ShadowRendering.h:1242
LAYOUT_FIELD(FShaderParameter, LightPosition)
LAYOUT_FIELD(FShaderParameter, ShadowFadeFraction)
TShadowProjectionPS(const ShaderMetaType::CompiledShaderInitializerType &Initializer)
Definition ShadowRendering.h:1251
LAYOUT_FIELD(FShadowProjectionShaderParameters, ProjectionParameters)
Definition SharedPointer.h:692
UE_FORCEINLINE_HINT const bool IsValid() const
Definition SharedPointer.h:1085
Definition ContainerAllocationPolicies.h:894
Definition ShadowRendering.h:1756
TSpotPercentageCloserShadowProjectionPS()
Definition ShadowRendering.h:1760
LAYOUT_FIELD(FShaderParameter, PCSSParameters)
static bool ShouldCompilePermutation(const FGlobalShaderPermutationParameters &Parameters)
Definition ShadowRendering.h:1767
static void ModifyCompilationEnvironment(const FGlobalShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition ShadowRendering.h:1773
void SetParameters(FRHIBatchedShaderParameters &BatchedParameters, int32 ViewIndex, const FSceneView &View, const FProjectedShadowInfo *ShadowInfo, bool bUseLightFunctionAtlas)
Definition ShadowRendering.h:1780
TSpotPercentageCloserShadowProjectionPS(const ShaderMetaType::CompiledShaderInitializerType &Initializer)
Definition ShadowRendering.h:1761
Definition RHIStaticStates.h:127
static RHIParamRefType GetRHI()
Definition RHIStaticStates.h:57
Type
Definition MeshPassProcessor.h:38
Type
Definition RHIFeatureLevel.h:20
@ SM5
Definition RHIFeatureLevel.h:42
bool IsEnabled(const FViewInfo &InView, ELightFunctionAtlasSystem In)
Definition LightFunctionAtlas.cpp:975
Definition ShadowRendering.h:50
constexpr uint32 ShadowStencilMask
Definition ShadowRendering.h:52
Definition ShadowSetup.cpp:1679
Definition ShadowSetup.cpp:1504
Definition ShadowSetup.cpp:1516
Definition ShadowSetup.cpp:1685
Definition ShadowRendering.h:1806
FORCEINLINE bool operator()(const FProjectedShadowInfo &A, const FProjectedShadowInfo &B) const
Definition ShadowRendering.h:1807
Definition ShadowRendering.h:1819
FORCEINLINE bool operator()(const FProjectedShadowInfo &A, const FProjectedShadowInfo &B) const
Definition ShadowRendering.h:1820
Definition ConvexVolume.h:44
Definition ShadowSetup.cpp:1366
Definition ShadowSetup.cpp:1510
Definition GlobalShader.h:73
Definition SceneManagement.h:1831
static constexpr UE_FORCEINLINE_HINT auto DegreesToRadians(T const &DegVal) -> decltype(DegVal *(UE_PI/180.f))
Definition UnrealMathUtility.h:871
Definition MeshBatch.h:371
Definition MeshPassProcessor.h:1573
Definition MeshPassProcessor.h:2118
Definition SceneTextures.h:52
Definition PSOPrecache.h:30
Definition PSOPrecache.h:150
FIntPoint Extent
Definition RendererInterface.h:420
Definition RHIShaderParameters.h:241
Definition ShaderParameterMacros.h:770
Definition SceneTexturesConfig.h:114
Definition ScreenPass.h:41
Definition ShaderCore.h:544
const EShaderPlatform Platform
Definition ShaderPermutation.h:29
Definition ShadowRendering.h:1669
FShadowProjectionMatrix(const FVector2D &Min, const FVector2D &Max, const FVector4 &WAxis)
Definition ShadowRendering.h:1680
FShadowProjectionMatrix(const FMatrix &InMatrix, float MinZ, float MaxZ)
Definition ShadowRendering.h:1690
FShadowProjectionMatrix(FVector::FReal MinZ, FVector::FReal MaxZ, const FVector4 &WAxis)
Definition ShadowRendering.h:1670
Definition ShadowRendering.h:197
ETileType TileType
Definition ShadowRendering.h:206
FRDGBufferRef DrawIndirectParametersBuffer
Definition ShadowRendering.h:203
FRDGBufferSRVRef TileListDataBufferSRV
Definition ShadowRendering.h:204
ETileType
Definition ShadowRendering.h:199
uint32 TileSize
Definition ShadowRendering.h:205
Definition SceneView.h:317
const FMatrix & GetProjectionMatrix() const
Definition SceneView.h:433
const FVector & GetPreViewTranslation() const
Definition SceneView.h:518
virtual IConsoleVariable * FindConsoleVariable(const TCHAR *Name, bool bTrackFrequentCalls=true) const =0
static IConsoleManager & Get()
Definition IConsoleManager.h:1270
Definition RendererInterface.h:494
FRHITexture * GetRHI() const
Definition RendererInterface.h:520
virtual const FPooledRenderTargetDesc & GetDesc() const =0
Definition NaniteShared.h:35
Definition BoxSphereBounds.h:25
IntType Y
Definition IntPoint.h:37
IntType X
Definition IntPoint.h:34
T M[4][4]
Definition Matrix.h:49
TVector4< T > TransformFVector4(const TVector4< T > &V) const
Definition Matrix.inl:170
T W
Definition Sphere.h:37
T X
Definition Vector2D.h:49
static CORE_API const TVector< double > ZeroVector
Definition Vector.h:79
double FReal
Definition Vector.h:55
void Set(T InX, T InY, T InZ)
Definition Vector.h:1665