2024-05-20 18:06:31 +02:00
|
|
|
// Oleg Petruny proprietary.
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "CoreMinimal.h"
|
|
|
|
#include "DataDrivenShaderPlatformInfo.h"
|
|
|
|
#include "GlobalShader.h"
|
|
|
|
#include "ShaderParameterStruct.h"
|
|
|
|
|
|
|
|
|
|
|
|
class LOST_EDGESHADERS_API FInteractableScreenCapturerBitMapCS : public FGlobalShader
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
DECLARE_GLOBAL_SHADER(FInteractableScreenCapturerBitMapCS);
|
|
|
|
SHADER_USE_PARAMETER_STRUCT(FInteractableScreenCapturerBitMapCS, FGlobalShader);
|
|
|
|
|
|
|
|
BEGIN_SHADER_PARAMETER_STRUCT(FParameters, )
|
|
|
|
|
2024-06-02 11:39:07 +02:00
|
|
|
SHADER_PARAMETER_SRV(Buffer<uint>, Input)
|
|
|
|
SHADER_PARAMETER_UAV(RWBuffer<uint>, Output)
|
2024-05-20 18:06:31 +02:00
|
|
|
|
|
|
|
END_SHADER_PARAMETER_STRUCT()
|
|
|
|
|
|
|
|
public:
|
|
|
|
static constexpr int32 shader_threads_per_group_count = 64;
|
|
|
|
|
|
|
|
static bool ShouldCompilePermutation(const FGlobalShaderPermutationParameters& Parameters)
|
|
|
|
{
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline void ModifyCompilationEnvironment(const FGlobalShaderPermutationParameters& Parameters, FShaderCompilerEnvironment& OutEnvironment)
|
|
|
|
{
|
|
|
|
FGlobalShader::ModifyCompilationEnvironment(Parameters, OutEnvironment);
|
|
|
|
|
|
|
|
OutEnvironment.SetDefine(TEXT("THREADGROUPSIZE_X"), shader_threads_per_group_count);
|
|
|
|
}
|
|
|
|
};
|