151 const
int32 ViewIndex,
159 const
int32 ViewIndex = 0,
169 const int32 ViewIndex = 0,
194template<
typename LightMapPolicyType>
209template<
typename LightMapPolicyType>
219 LightMapPolicyType::VertexParametersType::Bind(
Initializer.ParameterMap);
262template<
typename LightMapPolicyType>
274 return LightMapPolicyType::ShouldCompilePermutation(Parameters);
279 LightMapPolicyType::ModifyCompilationEnvironment(Parameters,
OutEnvironment);
289template<
typename LightMapPolicyType>
363 if (ParameterMap.
ContainsParameterAllocation(FSceneTextureUniformParameters::FTypeInfo::GetStructMetadata()->GetShaderVariableName()))
365 OutError.Add(
TEXT(
"Base pass shaders cannot read from the SceneTexturesStruct."));
376 LightMapPolicyType::ComputeParametersType::Bind(
Initializer.ParameterMap);
393 Targets.Bind(
Initializer.ParameterMap,
TEXT(
"ComputeShadingOutputs.OutTargets"));
396 check(!
Initializer.ParameterMap.ContainsParameterAllocation(FFogUniformParameters::FTypeInfo::GetStructMetadata()->GetShaderVariableName()));
397 check(!
Initializer.ParameterMap.ContainsParameterAllocation(FReflectionUniformParameters::FTypeInfo::GetStructMetadata()->GetShaderVariableName()));
398 check(!
Initializer.ParameterMap.ContainsParameterAllocation(FPlanarReflectionUniformParameters::FTypeInfo::GetStructMetadata()->GetShaderVariableName()));
402 void GetShaderBindings(
411 void SetPassParameters(
418 uint32 GetBoundTargetMask()
const;
440template<
typename LightMapPolicyType>
449 return LightMapPolicyType::ShouldCompilePermutation(Parameters);
454 LightMapPolicyType::ModifyCompilationEnvironment(Parameters,
OutEnvironment);
465template<
typename LightMapPolicyType,
bool bEnableSkyLight,
bool bVoxel, EShaderFrequency ShaderFrequency>
499 const bool bVoxelTest = (!bVoxel || (
NaniteVoxelsSupported() && Parameters.MaterialParameters.bIsUsedWithVoxels && Parameters.MaterialParameters.bIsUsedWithNanite));
503 && Parameters.VertexFactoryType->SupportsComputeShading()
550template<
typename LightMapPolicyType>
569 if (ParameterMap.
ContainsParameterAllocation(FSceneTextureUniformParameters::FTypeInfo::GetStructMetadata()->GetShaderVariableName()))
571 OutError.Add(
TEXT(
"Base pass shaders cannot read from the SceneTexturesStruct."));
582 LightMapPolicyType::PixelParametersType::Bind(
Initializer.ParameterMap);
586 check(!
Initializer.ParameterMap.ContainsParameterAllocation(FFogUniformParameters::FTypeInfo::GetStructMetadata()->GetShaderVariableName()));
587 check(!
Initializer.ParameterMap.ContainsParameterAllocation(FReflectionUniformParameters::FTypeInfo::GetStructMetadata()->GetShaderVariableName()));
588 check(!
Initializer.ParameterMap.ContainsParameterAllocation(FPlanarReflectionUniformParameters::FTypeInfo::GetStructMetadata()->GetShaderVariableName()));
609template<
typename LightMapPolicyType>
617 return LightMapPolicyType::ShouldCompilePermutation(Parameters);
622 LightMapPolicyType::ModifyCompilationEnvironment(Parameters,
OutEnvironment);
633template<
typename LightMapPolicyType,
bool bEnableSkyLight, EGBufferLayout GBufferLayout>
737template <
typename LightMapPolicyType>
740 int32 PermutationId = 0;
803template <
typename LightMapPolicyType>
824 if (!
Material.TryGetShaders(ShaderTypes, VertexFactoryType, Shaders))
850template <
typename LightMapPolicyType, EGBufferLayout GBufferLayout>
853 int32 PermutationId = 0;
873template <
typename LightMapPolicyType>
911 if (!
Material.TryGetShaders(ShaderTypes, VertexFactoryType, Shaders))
966 bRequiresExplicit128bitRT = Required;
971 return bRequiresExplicit128bitRT;
977 template<
typename PassShadersType>
1014 bool bRequiresAlphaChannel =
true;
1046 template<
typename LightMapPolicyType>
1054 const bool bIsMasked,
1055 const bool bIsTranslucent,
1062 void CollectPSOInitializersForSkyLight(
1068 const bool bDitheredLODTransition,
1074 template<
typename LightMapPolicyType>
1075 void CollectPSOInitializersForLMPolicy(
1082 const bool bDitheredLODTransition,
1089 const bool bIsDebug;
1091 const bool bTranslucentBasePass;
1092 const bool bOITBasePass;
1093 const bool bEnableReceiveDecalOutput;
1095 bool bRequiresExplicit128bitRT;
1096 float AutoBeforeDOFTranslucencyBoundary = 0.0f;
#define check(expr)
Definition AssertionMacros.h:314
bool IsGBufferLayoutSupportedForMaterial(EGBufferLayout Layout, const FMeshMaterialShaderPermutationParameters &Parameters)
Definition BasePassRendering.cpp:1002
int32 GIndirectLightingCache
Definition IndirectLightingCache.cpp:86
void SetupBasePassState(FExclusiveDepthStencil::Type BasePassDepthStencilAccess, const bool bShaderComplexity, FMeshPassProcessorRenderState &DrawRenderState)
Definition BasePassRendering.cpp:534
bool GetBasePassShaders< FUniformLightMapPolicy >(const FMaterial &Material, const FVertexFactoryType *VertexFactoryType, FUniformLightMapPolicy LightMapPolicy, ERHIFeatureLevel::Type FeatureLevel, bool bEnableSkyLight, bool bUse128bitRT, bool bIsDebug, EGBufferLayout GBufferLayout, TShaderRef< TBasePassVertexShaderPolicyParamType< FUniformLightMapPolicy > > *VertexShader, TShaderRef< TBasePassPixelShaderPolicyParamType< FUniformLightMapPolicy > > *PixelShader, bool bIsForOITPass)
Definition BasePassRendering.cpp:651
TRDGUniformBufferRef< FOpaqueBasePassUniformParameters > CreateOpaqueBasePassUniformBuffer(FRDGBuilder &GraphBuilder, const FViewInfo &View, const int32 ViewIndex=0, const FForwardBasePassTextures &ForwardBasePassTextures={}, const FDBufferTextures &DBufferTextures={}, bool bLumenGIEnabled=false, bool bForRealtimeSkyCapture=false)
Definition BasePassRendering.cpp:873
bool GetBasePassShaders(const FMaterial &Material, const FVertexFactoryType *VertexFactoryType, LightMapPolicyType LightMapPolicy, ERHIFeatureLevel::Type FeatureLevel, bool bEnableSkyLight, bool bUse128bitRT, bool bIsDebug, EGBufferLayout GBufferLayout, TShaderRef< TBasePassVertexShaderPolicyParamType< LightMapPolicyType > > *VertexShader, TShaderRef< TBasePassPixelShaderPolicyParamType< LightMapPolicyType > > *PixelShader, bool bIsForOITPass=false)
Definition BasePassRendering.h:874
bool GetBasePassShader< FUniformLightMapPolicy >(const FMaterial &Material, const FVertexFactoryType *VertexFactoryType, FUniformLightMapPolicy LightMapPolicy, ERHIFeatureLevel::Type FeatureLevel, bool bEnableSkyLight, bool bVoxel, bool bIsDebug, EShaderFrequency ShaderFrequency, TShaderRef< TBasePassComputeShaderPolicyParamType< FUniformLightMapPolicy > > *ComputeShader)
Definition BasePassRendering.cpp:782
void AddBasePassComputeShader(bool bEnableSkyLight, bool bVoxel, bool bIsDebug, EShaderFrequency ShaderFrequency, FMaterialShaderTypes &OutShaderTypes)
Definition BasePassRendering.h:738
void ModifyBasePassCSPSCompilationEnvironment(const FMeshMaterialShaderPermutationParameters &Params, EGBufferLayout GBufferLayout, bool bEnableSkyLight, FShaderCompilerEnvironment &OutEnvironment)
Definition BasePassRendering.cpp:1026
bool GetBasePassShader(const FMaterial &Material, const FVertexFactoryType *VertexFactoryType, LightMapPolicyType LightMapPolicy, ERHIFeatureLevel::Type FeatureLevel, bool bEnableSkyLight, bool bVoxel, bool bIsDebug, EShaderFrequency ShaderFrequency, TShaderRef< TBasePassComputeShaderPolicyParamType< LightMapPolicyType > > *ComputeShader)
Definition BasePassRendering.h:804
bool IsGBufferLayoutSupportedForMaterial(EGBufferLayout Layout, const FMeshMaterialShaderPermutationParameters &Params)
Definition BasePassRendering.cpp:1002
void SetupSharedBasePassParameters(FRDGBuilder &GraphBuilder, const FViewInfo &View, const int32 ViewIndex, bool bLumenGIEnabled, FSharedBasePassUniformParameters &BasePassParameters, bool bForRealtimeSkyCapture=false)
Definition BasePassRendering.cpp:818
FMeshDrawCommandSortKey CalculateTranslucentMeshStaticSortKey(const FPrimitiveSceneProxy *RESTRICT PrimitiveSceneProxy, uint16 MeshIdInPrimitive)
Definition BasePassRendering.cpp:438
void AddBasePassPixelShader(bool bEnableSkyLight, bool bIsDebug, FMaterialShaderTypes &OutShaderTypes, bool bIsForOITPass=false)
Definition BasePassRendering.h:851
TRDGUniformBufferRef< FTranslucentBasePassUniformParameters > CreateTranslucentBasePassUniformBuffer(FRDGBuilder &GraphBuilder, const FScene *Scene, const FViewInfo &View, const int32 ViewIndex=0, const FTranslucencyLightingVolumeTextures &TranslucencyLightingVolumeTextures={}, FRDGTextureRef SceneColorCopyTexture=nullptr, const ESceneTextureSetupMode SceneTextureSetupMode=ESceneTextureSetupMode::None, bool bLumenGIEnabled=false, ETranslucencyPass::Type TranslucencyPass=ETranslucencyPass::TPT_MAX)
Definition TranslucentRendering.cpp:1178
#define FORCEINLINE_DEBUGGABLE
Definition CoreMiscDefines.h:74
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EDepthDrawingMode
Definition DepthRendering.h:21
constexpr bool EnumHasAllFlags(Enum Flags, Enum Contains)
Definition EnumClassFlags.h:28
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
EGBufferLayout
Definition GBufferInfo.h:107
@ GBL_Default
Definition GBufferInfo.h:108
@ GBL_ForceVelocity
Definition GBufferInfo.h:109
bool ShouldCompositeHeterogeneousVolumesWithTranslucency()
Definition HeterogeneousVolumes.cpp:359
int32 NumCulledGridPrimitiveTypes
Definition LightGridInjection.cpp:282
int32 NumCulledLightsGridStride
Definition LightGridInjection.cpp:281
ELightMapPolicyType
Definition LightMapRendering.h:302
ENGINE_API bool IsTranslucentBlendMode(EBlendMode BlendMode)
#define LAYOUT_FIELD(T, Name,...)
Definition MemoryLayout.h:471
#define DECLARE_INLINE_TYPE_LAYOUT_EXPLICIT_BASES(T, Interface,...)
Definition MemoryLayout.h:562
#define DECLARE_INLINE_TYPE_LAYOUT(T, Interface)
Definition MemoryLayout.h:558
const bool
Definition NetworkReplayStreaming.h:178
EShaderFrequency
Definition RHIDefinitions.h:202
@ SF_Compute
Definition RHIDefinitions.h:208
@ SF_WorkGraphComputeNode
Definition RHIDefinitions.h:214
ERasterizerCullMode
Definition RHIDefinitions.h:369
ETextureCreateFlags
Definition RHIDefinitions.h:1091
ERasterizerFillMode
Definition RHIDefinitions.h:358
EPrimitiveType
Definition RHIDefinitions.h:822
#define DECLARE_GPU_STAT_NAMED_EXTERN(StatName, NameString)
Definition RealtimeGPUProfiler.h:260
#define DECLARE_GPU_DRAWCALL_STAT_EXTERN(StatName)
Definition RealtimeGPUProfiler.h:257
bool GetTranslucentUsesLightFunctionAtlas()
Definition RenderUtils.cpp:1907
bool IsForwardShadingEnabled(const FStaticShaderPlatform Platform)
Definition RenderUtils.cpp:1557
bool GetSingleLayerWaterUsesLightFunctionAtlas()
Definition RenderUtils.cpp:1902
bool HardwareVariableRateShadingSupportedByPlatform(EShaderPlatform ShaderPlatform)
Definition RenderUtils.cpp:2410
bool NaniteVoxelsSupported()
Definition RenderUtils.cpp:1361
bool DoesPlatformSupportHeterogeneousVolumes(EShaderPlatform Platform)
Definition RenderUtils.cpp:1472
bool IsSingleLayerWaterDepthPrepassEnabled(const FStaticShaderPlatform Platform, const FStaticFeatureLevel FeatureLevel)
Definition RenderUtils.cpp:1494
ESceneTextureSetupMode
Definition SceneRenderTargetParameters.h:31
void GetSceneColorFormatAndCreateFlags(ERHIFeatureLevel::Type FeatureLevel, bool bRequiresAlphaChannel, ETextureCreateFlags ExtraSceneColorCreateFlags, uint32 NumSamples, bool bMemorylessMSAA, EPixelFormat &SceneColorFormat, ETextureCreateFlags &SceneColorCreateFlags)
Definition SceneTexturesConfig.cpp:142
#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_SAMPLER(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1740
#define BEGIN_UNIFORM_BUFFER_STRUCT(StructTypeName, DllStorage)
Definition ShaderParameterMacros.h:1512
#define SHADER_PARAMETER_RDG_TEXTURE_UAV(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1788
#define BEGIN_GLOBAL_SHADER_PARAMETER_STRUCT
Definition ShaderParameterMacros.h:1663
#define SHADER_PARAMETER_STRUCT_INCLUDE(StructType, MemberName)
Definition ShaderParameterMacros.h:1895
#define END_UNIFORM_BUFFER_STRUCT()
Definition ShaderParameterMacros.h:1520
#define SHADER_PARAMETER_STRUCT(StructType, MemberName)
Definition ShaderParameterMacros.h:1847
#define SHADER_PARAMETER_RDG_TEXTURE_SRV(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1764
#define SHADER_PARAMETER(MemberType, MemberName)
Definition ShaderParameterMacros.h:1684
#define SHADER_PERMUTATION_BOOL(InDefineName)
Definition ShaderPermutation.h:482
#define DECLARE_SHADER_TYPE(ShaderClass, ShaderMetaTypeShortcut,...)
Definition Shader.h:1688
EVertexInputStreamType
Definition VertexFactory.h:128
Definition BasePassRendering.h:723
static void ModifyCompilationEnvironment(const FMeshMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition BasePassRendering.cpp:192
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition BasePassRendering.cpp:186
Definition BasePassRendering.h:937
virtual void CollectPSOInitializers(const FSceneTexturesConfig &SceneTexturesConfig, const FMaterial &Material, const FPSOPrecacheVertexFactoryData &VertexFactoryData, const FPSOPrecacheParams &PreCacheParams, TArray< FPSOPrecacheData > &PSOInitializers) override final
Definition BasePassRendering.cpp:2514
FMeshPassProcessorRenderState PassDrawRenderState
Definition BasePassRendering.h:962
EFlags
Definition BasePassRendering.h:940
static void AddBasePassGraphicsPipelineStateInitializer(ERHIFeatureLevel::Type InFeatureLevel, const FPSOPrecacheVertexFactoryData &VertexFactoryData, const FMaterial &RESTRICT MaterialResource, const FMeshPassProcessorRenderState &RESTRICT DrawRenderState, const FGraphicsPipelineRenderTargetsInfo &RESTRICT RenderTargetsInfo, const PassShadersType &PassShaders, ERasterizerFillMode MeshFillMode, ERasterizerCullMode MeshCullMode, EPrimitiveType PrimitiveType, bool bPrecacheAlphaColorChannel, int InPSOCollectorIndex, TArray< FPSOPrecacheData > &PSOInitializers)
Definition BasePassRendering.h:978
static ELightMapPolicyType GetUniformLightMapPolicyType(ERHIFeatureLevel::Type FeatureLevelconst, const FScene *Scene, const FLightCacheInterface *LCI, const FPrimitiveSceneProxy *RESTRICT PrimitiveSceneProxy, const FMaterial &Material)
Definition BasePassRendering.cpp:2330
FORCEINLINE_DEBUGGABLE void Set128BitRequirement(const bool Required)
Definition BasePassRendering.h:964
static TArray< ELightMapPolicyType, TInlineAllocator< 2 > > GetUniformLightMapPolicyTypeForPSOCollection(ERHIFeatureLevel::Type FeatureLevel, const FMaterial &Material)
Definition BasePassRendering.cpp:2441
FORCEINLINE_DEBUGGABLE bool Get128BitRequirement() const
Definition BasePassRendering.h:969
virtual void AddMeshBatch(const FMeshBatch &RESTRICT MeshBatch, uint64 BatchElementMask, const FPrimitiveSceneProxy *RESTRICT PrimitiveSceneProxy, int32 StaticMeshId=-1) override final
Definition BasePassRendering.cpp:2058
Type
Definition RHIResources.h:412
Definition BasePassRendering.h:60
FVector4f SpotAnglesAndSourceRadiusPacked
Definition BasePassRendering.h:65
FVector4f LightDirectionAndSceneInfoExtraDataPacked
Definition BasePassRendering.h:64
FVector4f LightPositionAndInvRadius
Definition BasePassRendering.h:62
FVector4f LightTangentAndIESDataAndSpecularScale
Definition BasePassRendering.h:66
FVector4f RectDataAndVirtualShadowMapIdOrPrevLocalLightIndex
Definition BasePassRendering.h:67
FVector4f LightColorAndIdAndFalloffExponentAndRayEndBias
Definition BasePassRendering.h:63
Definition BasePassRendering.h:181
static void ModifyCompilationEnvironment(EShaderPlatform Platform, FShaderCompilerEnvironment &OutEnvironment)
Definition BasePassRendering.h:184
Definition SceneManagement.h:820
Definition MaterialRenderProxy.h:102
Definition MaterialShared.h:2058
Definition MeshPassProcessor.h:1482
Definition MeshDrawShaderBindings.h:104
Definition MeshMaterialShader.h:22
Definition MeshMaterialShader.h:68
Definition MeshPassProcessor.h:1670
Definition MeshPassProcessor.h:2199
const FScene *RESTRICT Scene
Definition MeshPassProcessor.h:2203
void AddGraphicsPipelineStateInitializer(const FPSOPrecacheVertexFactoryData &VertexFactoryData, const FMaterial &RESTRICT MaterialResource, const FMeshPassProcessorRenderState &RESTRICT DrawRenderState, const FGraphicsPipelineRenderTargetsInfo &RESTRICT RenderTargetsInfo, const PassShadersType &PassShaders, ERasterizerFillMode MeshFillMode, ERasterizerCullMode MeshCullMode, EPrimitiveType PrimitiveType, EMeshPassFeatures MeshPassFeatures, bool bRequired, TArray< FPSOPrecacheData > &PSOInitializers)
Definition MeshPassProcessor.inl:211
ERHIFeatureLevel::Type FeatureLevel
Definition MeshPassProcessor.h:2204
Definition PrimitiveSceneProxy.h:296
Definition RenderGraphBuilder.h:49
Definition RenderGraphResources.h:571
Definition SceneView.h:1425
Definition ScenePrivate.h:2875
Definition ShaderCore.h:323
RENDERCORE_API bool ContainsParameterAllocation(FStringView ParameterName) const
Definition ShaderCore.cpp:1090
Definition ShaderParameters.h:56
static void ModifyCompilationEnvironment(const FShaderPermutationParameters &, FShaderCompilerEnvironment &)
Definition Shader.h:854
Definition VertexFactory.h:314
Definition VertexFactory.h:661
Definition SceneRendering.h:1132
Definition BasePassRendering.h:467
static void ModifyCompilationEnvironment(const FMeshMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition BasePassRendering.h:508
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition BasePassRendering.h:474
TBasePassCS()
Definition BasePassRendering.h:543
TBasePassCS(const ShaderMetaType::CompiledShaderInitializerType &Initializer)
Definition BasePassRendering.h:538
Definition BasePassRendering.h:442
TBasePassComputeShaderBaseType()
Definition BasePassRendering.h:461
static void ModifyCompilationEnvironment(const FMeshMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition BasePassRendering.h:452
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition BasePassRendering.h:447
TBasePassComputeShaderBaseType(const FMeshMaterialShaderType::CompiledShaderInitializerType &Initializer)
Definition BasePassRendering.h:459
Definition BasePassRendering.h:351
static bool ValidateCompiledResult(EShaderPlatform Platform, const FShaderParameterMap &ParameterMap, TArray< FString > &OutError)
Definition BasePassRendering.h:361
TBasePassComputeShaderPolicyParamType()
Definition BasePassRendering.h:400
static void ModifyCompilationEnvironment(const FMeshMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition BasePassRendering.h:355
TBasePassComputeShaderPolicyParamType(const FMeshMaterialShaderType::CompiledShaderInitializerType &Initializer)
Definition BasePassRendering.h:373
Definition BasePassRendering.h:635
TBasePassPS(const ShaderMetaType::CompiledShaderInitializerType &Initializer)
Definition BasePassRendering.h:713
static void ModifyCompilationEnvironment(const FMeshMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition BasePassRendering.h:684
TBasePassPS()
Definition BasePassRendering.h:718
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition BasePassRendering.h:643
Definition BasePassRendering.h:611
TBasePassPixelShaderBaseType(const FMeshMaterialShaderType::CompiledShaderInitializerType &Initializer)
Definition BasePassRendering.h:627
TBasePassPixelShaderBaseType()
Definition BasePassRendering.h:629
static void ModifyCompilationEnvironment(const FMeshMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition BasePassRendering.h:620
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition BasePassRendering.h:615
Definition BasePassRendering.h:552
static void ModifyCompilationEnvironment(const FMeshMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition BasePassRendering.h:556
static bool ValidateCompiledResult(EShaderPlatform Platform, const FShaderParameterMap &ParameterMap, TArray< FString > &OutError)
Definition BasePassRendering.h:567
void GetShaderBindings(const FScene *Scene, ERHIFeatureLevel::Type FeatureLevel, const FPrimitiveSceneProxy *PrimitiveSceneProxy, const FMaterialRenderProxy &MaterialRenderProxy, const FMaterial &Material, const TBasePassShaderElementData< LightMapPolicyType > &ShaderElementData, FMeshDrawSingleShaderBindings &ShaderBindings) const
Definition BasePassRendering.inl:61
TBasePassPixelShaderPolicyParamType()
Definition BasePassRendering.h:590
TBasePassPixelShaderPolicyParamType(const FMeshMaterialShaderType::CompiledShaderInitializerType &Initializer)
Definition BasePassRendering.h:579
Definition BasePassRendering.h:196
LightMapPolicyType::ElementDataType LightMapPolicyElementData
Definition BasePassRendering.h:202
TBasePassShaderElementData(const typename LightMapPolicyType::ElementDataType &InLightMapPolicyElementData)
Definition BasePassRendering.h:198
Definition BasePassRendering.h:291
static void ModifyCompilationEnvironment(const FMeshMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition BasePassRendering.h:312
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition BasePassRendering.h:304
TBasePassVS()
Definition BasePassRendering.h:297
TBasePassVS(const FMeshMaterialShaderType::CompiledShaderInitializerType &Initializer)
Definition BasePassRendering.h:298
Definition BasePassRendering.h:264
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition BasePassRendering.h:272
TBasePassVertexShaderBaseType(const FMeshMaterialShaderType::CompiledShaderInitializerType &Initializer)
Definition BasePassRendering.h:268
TBasePassVertexShaderBaseType()
Definition BasePassRendering.h:269
static void ModifyCompilationEnvironment(const FMeshMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition BasePassRendering.h:277
Definition BasePassRendering.h:211
TBasePassVertexShaderPolicyParamType()
Definition BasePassRendering.h:215
void GetShaderBindings(const FScene *Scene, ERHIFeatureLevel::Type FeatureLevel, const FPrimitiveSceneProxy *PrimitiveSceneProxy, const FMaterialRenderProxy &MaterialRenderProxy, const FMaterial &Material, const TBasePassShaderElementData< LightMapPolicyType > &ShaderElementData, FMeshDrawSingleShaderBindings &ShaderBindings) const
Definition BasePassRendering.inl:24
void GetElementShaderBindings(const FShaderMapPointerTable &PointerTable, const FScene *Scene, const FSceneView *ViewIfDynamicMeshCommand, const FVertexFactory *VertexFactory, const EVertexInputStreamType InputStreamType, ERHIFeatureLevel::Type FeatureLevel, const FPrimitiveSceneProxy *PrimitiveSceneProxy, const FMeshBatch &MeshBatch, const FMeshBatchElement &BatchElement, const TBasePassShaderElementData< LightMapPolicyType > &ShaderElementData, FMeshDrawSingleShaderBindings &ShaderBindings, FVertexInputStreamArray &VertexStreams) const
Definition BasePassRendering.inl:43
static void ModifyCompilationEnvironment(const FMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition BasePassRendering.h:225
LAYOUT_FIELD(FShaderUniformBufferParameter, ReflectionCaptureBuffer)
TBasePassVertexShaderPolicyParamType(const FMeshMaterialShaderType::CompiledShaderInitializerType &Initializer)
Definition BasePassRendering.h:216
Definition ConcurrentLinearAllocator.h:571
Definition IConsoleManager.h:1721
T GetValueOnAnyThread(bool bForceGameThread=false) const
Definition IConsoleManager.h:1753
Definition MaterialExpressionSingleLayerWaterMaterialOutput.h:13
Type
Definition MeshPassProcessor.h:38
Type
Definition RHIFeatureLevel.h:20
@ SM5
Definition RHIFeatureLevel.h:42
Type
Definition TranslucentPassResource.h:13
@ TPT_MAX
Definition TranslucentPassResource.h:22
Definition LightFunctionAtlas.cpp:122
Definition SkinnedMeshComponent.h:50
Definition BasePassRendering.h:52
bool IsSortedPixelsEnabledForProject(EShaderPlatform InPlatform)
Definition OIT.cpp:873
Definition RenderUtils.cpp:2080
@ false
Definition radaudio_common.h:23
Definition DBufferTextures.h:35
Definition BasePassRendering.h:71
FRDGTextureRef SceneDepthIfResolved
Definition BasePassRendering.h:74
bool bIs24BitUnormDepthStencil
Definition BasePassRendering.h:75
FRDGTextureRef ScreenSpaceAO
Definition BasePassRendering.h:72
FRDGTextureRef ScreenSpaceShadowMask
Definition BasePassRendering.h:73
Definition RHIResources.h:4547
uint64 bAllowVariableRateShading
Definition MaterialShared.h:1157
FMaterialShadingModelField ShadingModels
Definition MaterialShared.h:1065
Definition MaterialShader.h:45
FMaterialShaderParameters MaterialParameters
Definition MaterialShader.h:46
Definition MaterialShaderType.h:198
const FShaderType * AddShaderType(const FShaderType *InType, int32 InPermutationId=0)
Definition MaterialShaderType.h:205
Definition MaterialShaderType.h:222
bool TryGetPixelShader(TShaderRef< ShaderType > &OutShader) const
Definition MaterialShaderType.h:275
bool TryGetShader(EShaderFrequency InFrequency, TShaderRef< ShaderType > &OutShader) const
Definition MaterialShaderType.h:240
bool TryGetVertexShader(TShaderRef< ShaderType > &OutShader) const
Definition MaterialShaderType.h:274
Definition EngineTypes.h:732
bool HasShadingModel(EMaterialShadingModel InShadingModel) const
Definition EngineTypes.h:756
Definition MeshBatch.h:232
Definition MeshBatch.h:371
Definition MeshMaterialShader.h:33
Definition MeshMaterialShaderType.h:29
Definition MeshPassProcessor.h:2118
Definition BasePassRendering.h:1105
TShaderRef< TBasePassComputeShaderPolicyParamType< FUniformLightMapPolicy > > TypedShader
Definition BasePassRendering.h:1106
Definition PSOPrecache.h:226
Definition PSOPrecache.h:30
Definition PSOPrecache.h:150
Definition RHIShaderParameters.h:241
Definition SceneTexturesConfig.h:114
Definition SingleLayerWaterRendering.h:32
Definition ShaderCore.h:544
const EShaderPlatform Platform
Definition ShaderPermutation.h:29
Definition TranslucentLighting.h:16
TConsoleVariableData< int32 > * FindTConsoleVariableDataInt(const TCHAR *Name) const
Definition IConsoleManager.h:1203
static IConsoleManager & Get()
Definition IConsoleManager.h:1270
Definition ShaderPermutation.h:229