102template<ELightmapQuality LightmapQuality>
122template< ELightmapQuality LightmapQuality >
392 return A.IndirectPolicy ==
B.IndirectPolicy;
401template <ELightMapPolicyType Policy>
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
TGlobalResource< FEmptyIndirectLightingCacheUniformBuffer > GEmptyIndirectLightingCacheUniformBuffer
Definition LightMapRendering.cpp:800
RENDERER_API bool MobileUsesNoLightMapPermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
RENDERER_API TGlobalResource< FEmptyPrecomputedLightingUniformBuffer > GEmptyPrecomputedLightingUniformBuffer
Definition LightMapRendering.cpp:684
ELightMapPolicyType
Definition LightMapRendering.h:302
@ LMP_MOBILE_DISTANCE_FIELD_SHADOWS_LIGHTMAP_AND_CSM
Definition LightMapRendering.h:312
@ LMP_MOBILE_DIRECTIONAL_LIGHT_CSM
Definition LightMapRendering.h:316
@ LMP_HQ_LIGHTMAP
Definition LightMapRendering.h:308
@ LMP_CACHED_VOLUME_INDIRECT_LIGHTING
Definition LightMapRendering.h:305
@ LMP_MOBILE_DISTANCE_FIELD_SHADOWS_AND_LQ_LIGHTMAP
Definition LightMapRendering.h:311
@ LMP_DUMMY
Definition LightMapRendering.h:319
@ LMP_NO_LIGHTMAP
Definition LightMapRendering.h:303
@ LMP_PRECOMPUTED_IRRADIANCE_VOLUME_INDIRECT_LIGHTING
Definition LightMapRendering.h:304
@ LMP_MOBILE_DIRECTIONAL_LIGHT_CSM_AND_SH_INDIRECT
Definition LightMapRendering.h:315
@ LMP_CACHED_POINT_INDIRECT_LIGHTING
Definition LightMapRendering.h:306
@ LMP_MOBILE_DIRECTIONAL_LIGHT_CSM_AND_LIGHTMAP
Definition LightMapRendering.h:313
@ LMP_MOBILE_DIRECTIONAL_LIGHT_AND_SH_INDIRECT
Definition LightMapRendering.h:314
@ LMP_DISTANCE_FIELD_SHADOWS_AND_HQ_LIGHTMAP
Definition LightMapRendering.h:309
@ LMP_LQ_LIGHTMAP
Definition LightMapRendering.h:307
bool MobileUseCSMShaderBranch()
Definition LightMapRendering.cpp:18
void GetIndirectLightingCacheParameters(ERHIFeatureLevel::Type FeatureLevel, FIndirectLightingCacheUniformParameters &Parameters, const class FIndirectLightingCache *LightingCache, const class FIndirectLightingCacheAllocation *LightingAllocation, FVector VolumetricLightmapLookupPosition, uint32 SceneFrameNumber, class FVolumetricLightmapSceneData *VolumetricLightmapSceneData)
ELightmapQuality
Definition LightMapRendering.h:88
@ LQ_LIGHTMAP
Definition LightMapRendering.h:89
@ HQ_LIGHTMAP
Definition LightMapRendering.h:90
#define DECLARE_INLINE_TYPE_LAYOUT_EXPLICIT_BASES(T, Interface,...)
Definition MemoryLayout.h:562
#define DECLARE_INLINE_TYPE_LAYOUT(T, Interface)
Definition MemoryLayout.h:558
#define DECLARE_TYPE_LAYOUT(T, Interface)
Definition MemoryLayout.h:557
#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 SHADER_PARAMETER_EX(MemberType, MemberName, Precision)
Definition ShaderParameterMacros.h:1687
#define BEGIN_GLOBAL_SHADER_PARAMETER_STRUCT
Definition ShaderParameterMacros.h:1663
#define SHADER_PARAMETER(MemberType, MemberName)
Definition ShaderParameterMacros.h:1684
Definition Archive.h:1208
Definition PrimitiveSceneInfo.h:61
Definition ScenePrivate.h:2302
Definition SceneManagement.h:820
Definition MeshDrawShaderBindings.h:104
Definition LightMapRendering.h:293
static void ModifyCompilationEnvironment(const FMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition LightMapRendering.cpp:252
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition LightMapRendering.cpp:239
Definition LightMapRendering.h:256
static void ModifyCompilationEnvironment(const FMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition LightMapRendering.cpp:188
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition LightMapRendering.cpp:178
Definition LightMapRendering.h:266
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition LightMapRendering.cpp:193
static void ModifyCompilationEnvironment(const FMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition LightMapRendering.cpp:203
Definition PrimitiveSceneProxy.h:296
Definition RHICommandList.h:455
Definition LightMapRendering.h:450
void Serialize(FArchive &Ar)
Definition LightMapRendering.h:459
void Bind(const FShaderParameterMap &ParameterMap)
Definition LightMapRendering.h:453
Definition LightMapRendering.h:433
void Bind(const FShaderParameterMap &ParameterMap)
Definition LightMapRendering.h:436
void Serialize(FArchive &Ar)
Definition LightMapRendering.h:442
Definition LightMapRendering.h:428
const FSelfShadowLightCacheElementData ElementDataType
Definition LightMapRendering.h:430
FSelfShadowedCachedPointIndirectLightingPolicy()
Definition LightMapRendering.h:470
static void ModifyCompilationEnvironment(const FMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition LightMapRendering.cpp:267
static void GetComputeShaderBindings(const FPrimitiveSceneProxy *PrimitiveSceneProxy, const ElementDataType &ShaderElementData, const ComputeParametersType *ComputeShaderParameters, FMeshDrawSingleShaderBindings &ShaderBindings)
Definition LightMapRendering.cpp:326
static void GetVertexShaderBindings(const FPrimitiveSceneProxy *PrimitiveSceneProxy, const ElementDataType &ShaderElementData, const VertexParametersType *VertexShaderParameters, FMeshDrawSingleShaderBindings &ShaderBindings)
Definition LightMapRendering.h:472
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition LightMapRendering.cpp:259
static void GetPixelShaderBindings(const FPrimitiveSceneProxy *PrimitiveSceneProxy, const ElementDataType &ShaderElementData, const PixelParametersType *PixelShaderParameters, FMeshDrawSingleShaderBindings &ShaderBindings)
Definition LightMapRendering.cpp:307
Definition LightMapRendering.h:174
LAYOUT_FIELD(FShaderUniformBufferParameter, TranslucentSelfShadowBufferParameter)
void Serialize(FArchive &Ar)
Definition LightMapRendering.h:182
void Bind(const FShaderParameterMap &ParameterMap)
Definition LightMapRendering.h:177
Definition LightMapRendering.h:157
LAYOUT_FIELD(FShaderUniformBufferParameter, TranslucentSelfShadowBufferParameter)
void Serialize(FArchive &Ar)
Definition LightMapRendering.h:165
void Bind(const FShaderParameterMap &ParameterMap)
Definition LightMapRendering.h:160
Definition LightMapRendering.h:149
void Serialize(FArchive &Ar)
Definition LightMapRendering.h:153
void Bind(const FShaderParameterMap &ParameterMap)
Definition LightMapRendering.h:152
Definition LightMapRendering.h:143
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition LightMapRendering.cpp:79
static void GetVertexShaderBindings(const FPrimitiveSceneProxy *PrimitiveSceneProxy, const ElementDataType &ShaderElementData, const VertexParametersType *VertexShaderParameters, FMeshDrawSingleShaderBindings &ShaderBindings)
Definition LightMapRendering.cpp:95
static void GetPixelShaderBindings(const FPrimitiveSceneProxy *PrimitiveSceneProxy, const ElementDataType &ShaderElementData, const PixelParametersType *PixelShaderParameters, FMeshDrawSingleShaderBindings &ShaderBindings)
Definition LightMapRendering.cpp:103
static void ModifyCompilationEnvironment(const FMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition LightMapRendering.cpp:86
friend bool operator==(const FSelfShadowedTranslucencyPolicy A, const FSelfShadowedTranslucencyPolicy B)
Definition LightMapRendering.h:214
static void GetComputeShaderBindings(const FPrimitiveSceneProxy *PrimitiveSceneProxy, const ElementDataType &ShaderElementData, const ComputeParametersType *ComputeShaderParameters, FMeshDrawSingleShaderBindings &ShaderBindings)
Definition LightMapRendering.cpp:112
FSelfShadowedTranslucencyPolicy()
Definition LightMapRendering.cpp:91
FRHIUniformBuffer * ElementDataType
Definition LightMapRendering.h:146
Definition LightMapRendering.h:514
void Serialize(FArchive &Ar)
Definition LightMapRendering.h:523
void Bind(const FShaderParameterMap &ParameterMap)
Definition LightMapRendering.h:517
Definition LightMapRendering.h:497
void Serialize(FArchive &Ar)
Definition LightMapRendering.h:506
void Bind(const FShaderParameterMap &ParameterMap)
Definition LightMapRendering.h:500
Definition LightMapRendering.h:492
const FSelfShadowLightCacheElementData ElementDataType
Definition LightMapRendering.h:494
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition LightMapRendering.cpp:345
static void GetVertexShaderBindings(const FPrimitiveSceneProxy *PrimitiveSceneProxy, const ElementDataType &ShaderElementData, const VertexParametersType *VertexShaderParameters, FMeshDrawSingleShaderBindings &ShaderBindings)
Definition LightMapRendering.h:536
static void GetComputeShaderBindings(const FPrimitiveSceneProxy *PrimitiveSceneProxy, const ElementDataType &ShaderElementData, const ComputeParametersType *ComputeShaderParameters, FMeshDrawSingleShaderBindings &ShaderBindings)
Definition LightMapRendering.cpp:381
FSelfShadowedVolumetricLightmapPolicy()
Definition LightMapRendering.cpp:360
static void GetPixelShaderBindings(const FPrimitiveSceneProxy *PrimitiveSceneProxy, const ElementDataType &ShaderElementData, const PixelParametersType *PixelShaderParameters, FMeshDrawSingleShaderBindings &ShaderBindings)
Definition LightMapRendering.cpp:362
static void ModifyCompilationEnvironment(const FMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition LightMapRendering.cpp:353
Definition ShaderCore.h:323
Definition ScenePrivate.h:1845
Definition RenderResource.h:543
Definition LightMapRendering.h:117
void ModifyCompilationEnvironment(ELightmapQuality LightmapQuality, const FMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition LightMapRendering.cpp:67
Type
Definition RHIFeatureLevel.h:20
Definition ShaderParameterMetadata.h:36
Definition LightMapRendering.h:94
void ModifyCompilationEnvironment(ELightmapQuality LightmapQuality, const FMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition LightMapRendering.cpp:39
bool ShouldCompilePermutation(ELightmapQuality LightmapQuality, const FMeshMaterialShaderPermutationParameters &Parameters)
Definition LightMapRendering.cpp:48
Definition LightMapRendering.h:242
static void ModifyCompilationEnvironment(const FMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition LightMapRendering.cpp:149
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition LightMapRendering.cpp:144
Definition LightMapRendering.h:233
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition LightMapRendering.cpp:131
static void ModifyCompilationEnvironment(const FMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition LightMapRendering.cpp:139
Definition LightMapRendering.h:135
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition LightMapRendering.cpp:74
Definition MaterialShader.h:45
Definition MeshMaterialShader.h:33
Definition LightMapRendering.h:249
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition LightMapRendering.cpp:159
static void ModifyCompilationEnvironment(const FMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition LightMapRendering.cpp:154
Definition LightMapRendering.h:286
static void ModifyCompilationEnvironment(const FMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition LightMapRendering.cpp:234
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition LightMapRendering.cpp:229
Definition LightMapRendering.h:276
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition LightMapRendering.cpp:210
static void ModifyCompilationEnvironment(const FMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition LightMapRendering.cpp:222
TLightMapPolicy< LQ_LIGHTMAP > Super
Definition LightMapRendering.h:277
Definition LightMapRendering.h:82
static void ModifyCompilationEnvironment(const FMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition LightMapRendering.cpp:807
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition LightMapRendering.cpp:802
Definition LightMapRendering.h:224
static void ModifyCompilationEnvironment(const FMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition LightMapRendering.cpp:126
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition LightMapRendering.cpp:121
Definition LightMapRendering.h:419
const FLightCacheInterface * LCI
Definition LightMapRendering.h:420
FRHIUniformBuffer * SelfShadowTranslucencyUniformBuffer
Definition LightMapRendering.h:421
Definition ShaderCore.h:544
Definition LightMapRendering.h:124
static void ModifyCompilationEnvironment(const FMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition LightMapRendering.h:125
Definition LightMapRendering.h:104
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition LightMapRendering.h:110
static void ModifyCompilationEnvironment(const FMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition LightMapRendering.h:105