UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialCacheShaders.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
8
10{
13
14public:
15 class FTagIndex : SHADER_PERMUTATION_INT("TAG_INDEX", MaterialCacheMaxTagsPerPrimitive);
17
18 FMaterialCacheUnwrapVSBase(const ShaderMetaType::CompiledShaderInitializerType& Initializer) : FMeshMaterialShader(Initializer)
19 {
20
21 }
22
24};
25
26template<bool bSupportsViewportFromVS>
42
44{
46
47public:
48 class FTagIndex : SHADER_PERMUTATION_INT("TAG_INDEX", MaterialCacheMaxTagsPerPrimitive);
50
51 FMaterialCacheUnwrapPS(const ShaderMetaType::CompiledShaderInitializerType& Initializer) : FMeshMaterialShader(Initializer)
52 {
53
54 }
55
57
60};
61
63{
65
66public:
67 class FTagIndex : SHADER_PERMUTATION_INT("TAG_INDEX", MaterialCacheMaxTagsPerPrimitive);
69
70 FMaterialCacheNaniteShadeCS(const ShaderMetaType::CompiledShaderInitializerType& Initializer);
72
73 static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters& Parameters);
74 static void ModifyCompilationEnvironment(const FMeshMaterialShaderPermutationParameters& Parameters, FShaderCompilerEnvironment& OutEnvironment);
75
76 void SetPassParameters(FRHIBatchedShaderParameters& BatchedParameters, const FUintVector4& PassData, FRHIShaderResourceView* PageIndirections);
77
78private:
79 LAYOUT_FIELD(FShaderResourceParameter, PageIndirectionsParam);
80 LAYOUT_FIELD(FShaderParameter, PassDataParam);
81};
82
100
102{
105
106public:
107 BEGIN_SHADER_PARAMETER_STRUCT(FParameters, )
114 SHADER_PARAMETER(FVector2f, TexelSize)
117
118 class FCompressMode : SHADER_PERMUTATION_INT("COMPRESS_MODE", 7);
120
121 static int32 GetCompressMode(EPixelFormat Format);
122
123 static bool ShouldCompilePermutation(const FGlobalShaderPermutationParameters& Parameters);
124 static void ModifyCompilationEnvironment(const FShaderPermutationParameters& Parameters, FShaderCompilerEnvironment& OutEnvironment);
125};
126
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
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
#define LAYOUT_FIELD(T, Name,...)
Definition MemoryLayout.h:471
#define DECLARE_INLINE_TYPE_LAYOUT(T, Interface)
Definition MemoryLayout.h:558
const bool
Definition NetworkReplayStreaming.h:178
#define SHADER_PARAMETER_RDG_BUFFER_SRV(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1800
#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 END_SHADER_PARAMETER_STRUCT()
Definition ShaderParameterMacros.h:1485
#define SHADER_PARAMETER_RDG_TEXTURE_SRV(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1764
#define SHADER_PARAMETER(MemberType, MemberName)
Definition ShaderParameterMacros.h:1684
#define SHADER_USE_PARAMETER_STRUCT(ShaderClass, ShaderParentClass)
Definition ShaderParameterStruct.h:62
#define SHADER_PERMUTATION_INT(InDefineName, Count)
Definition ShaderPermutation.h:492
#define DECLARE_SHADER_TYPE(ShaderClass, ShaderMetaTypeShortcut,...)
Definition Shader.h:1688
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition GlobalShader.h:269
Definition MaterialCacheShaders.h:102
Definition MaterialCacheShaders.h:63
static void ModifyCompilationEnvironment(const FMeshMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition MaterialCacheShaders.cpp:75
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition MaterialCacheShaders.cpp:56
void SetPassParameters(FRHIBatchedShaderParameters &BatchedParameters, const FUintVector4 &PassData, FRHIShaderResourceView *PageIndirections)
Definition MaterialCacheShaders.cpp:92
Definition MaterialCacheShaders.h:84
FMaterialCacheShadeCS()=default
Definition MaterialCacheShaders.h:44
static void ModifyCompilationEnvironment(const FMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition MaterialCacheShaders.cpp:45
FMaterialCacheUnwrapPS()=default
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition MaterialCacheShaders.cpp:38
Definition MaterialCacheShaders.h:10
FMaterialCacheUnwrapVSBase()=default
Definition MaterialCacheShaders.h:28
static bool ShouldCompilePermutation(const FMeshMaterialShaderPermutationParameters &Parameters)
Definition MaterialCacheShaders.cpp:20
static void ModifyCompilationEnvironment(const FMaterialShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
Definition MaterialCacheShaders.cpp:28
FMaterialCacheUnwrapVS()=default
FMaterialCacheUnwrapVS(const ShaderMetaType::CompiledShaderInitializerType &Initializer)
Definition MaterialCacheShaders.h:32
Definition MeshMaterialShader.h:68
Definition RHIResources.h:3304
Definition ShaderParameters.h:56
Definition ShaderParameters.h:87
Definition Shader.h:1021
Definition MaterialShader.h:45
Definition MeshMaterialShader.h:33
Definition MeshMaterialShaderType.h:29
Definition MaterialCacheShaders.h:128
TShaderRef< FMaterialCacheNaniteShadeCS > TypedShader
Definition MaterialCacheShaders.h:129
Definition RHIShaderParameters.h:241
Definition ShaderCore.h:544
Definition ShaderPermutation.h:229