96 static constexpr uint32 ThreadGroupSizeX = 8;
97 static constexpr uint32 ThreadGroupSizeY = 8;
98 static constexpr uint32 ThreadGroupSizeZ = 8;
99 static constexpr const TCHAR* EventName = TEXT(
"IVSmokeHoleCarveCS");
105 BEGIN_SHADER_PARAMETER_STRUCT(FParameters, )
107 SHADER_PARAMETER_RDG_TEXTURE_UAV(RWTexture3D<float4>, VolumeTexture)
110 SHADER_PARAMETER_RDG_BUFFER_SRV(StructuredBuffer<FIVSmokeHoleGPU>, HoleBuffer)
113 SHADER_PARAMETER(FVector3f, VolumeMin)
114 SHADER_PARAMETER(FVector3f, VolumeMax)
117 SHADER_PARAMETER(FIntVector, Resolution)
120 SHADER_PARAMETER(int32, NumHoles)
123 SHADER_PARAMETER_TEXTURE(Texture2D, PenetrationNoiseTexture)
124 SHADER_PARAMETER_TEXTURE(Texture2D, ExplosionNoiseTexture)
125 SHADER_PARAMETER_TEXTURE(Texture2D, DynamicNoiseTexture)
126 SHADER_PARAMETER_SAMPLER(SamplerState, NoiseSampler)
129 SHADER_PARAMETER(
float, PenetrationNoiseStrength)
130 SHADER_PARAMETER(
float, PenetrationNoiseScale)
131 SHADER_PARAMETER(
float, ExplosionNoiseStrength)
132 SHADER_PARAMETER(
float, ExplosionNoiseScale)
133 SHADER_PARAMETER(
float, DynamicNoiseStrength)
134 SHADER_PARAMETER(
float, DynamicNoiseScale)
135 END_SHADER_PARAMETER_STRUCT()
137 static bool ShouldCompilePermutation(
const FGlobalShaderPermutationParameters& Parameters)
139 return IsFeatureLevelSupported(Parameters.Platform, ERHIFeatureLevel::SM5);
142 static void ModifyCompilationEnvironment(
143 const FGlobalShaderPermutationParameters& Parameters,
144 FShaderCompilerEnvironment& OutEnvironment
147 FGlobalShader::ModifyCompilationEnvironment(Parameters, OutEnvironment);
148 OutEnvironment.SetDefine(TEXT(
"THREADGROUP_SIZEX"), ThreadGroupSizeX);
149 OutEnvironment.SetDefine(TEXT(
"THREADGROUP_SIZEY"), ThreadGroupSizeY);
150 OutEnvironment.SetDefine(TEXT(
"THREADGROUP_SIZEZ"), ThreadGroupSizeZ);
161 static constexpr uint32 ThreadGroupSizeX = 8;
162 static constexpr uint32 ThreadGroupSizeY = 8;
163 static constexpr uint32 ThreadGroupSizeZ = 8;
164 static constexpr const TCHAR* EventName = TEXT(
"IVSmokeHoleBlurCS");
169 BEGIN_SHADER_PARAMETER_STRUCT(FParameters, )
171 SHADER_PARAMETER_RDG_TEXTURE_SRV(Texture3D<float4>, InputTexture)
172 SHADER_PARAMETER_SAMPLER(SamplerState, InputSampler)
175 SHADER_PARAMETER_RDG_TEXTURE_UAV(RWTexture3D<float4>, OutputTexture)
178 SHADER_PARAMETER(FIntVector, Resolution)
181 SHADER_PARAMETER(FIntVector, BlurDirection)
184 SHADER_PARAMETER(int32, BlurStep)
185 END_SHADER_PARAMETER_STRUCT()
187 static bool ShouldCompilePermutation(
const FGlobalShaderPermutationParameters& Parameters)
189 return IsFeatureLevelSupported(Parameters.Platform, ERHIFeatureLevel::SM5);
192 static void ModifyCompilationEnvironment(
193 const FGlobalShaderPermutationParameters& Parameters,
194 FShaderCompilerEnvironment& OutEnvironment
197 FGlobalShader::ModifyCompilationEnvironment(Parameters, OutEnvironment);
198 OutEnvironment.SetDefine(TEXT(
"THREADGROUP_SIZEX"), ThreadGroupSizeX);
199 OutEnvironment.SetDefine(TEXT(
"THREADGROUP_SIZEY"), ThreadGroupSizeY);
200 OutEnvironment.SetDefine(TEXT(
"THREADGROUP_SIZEZ"), ThreadGroupSizeZ);