23 GENERATED_UCLASS_BODY()
26 BEGIN_SHADER_PARAMETER_STRUCT(FShaderParameters, )
28 SHADER_PARAMETER(uint32, IODataSize)
31 SHADER_PARAMETER_RDG_BUFFER_SRV(StructuredBuffer<uint>, IOData)
34 SHADER_PARAMETER(uint32, frequencyBandsLength)
37 SHADER_PARAMETER_RDG_BUFFER_SRV(StructuredBuffer<float>, frequencyBands)
40 SHADER_PARAMETER(uint32, amplitudesLength)
43 SHADER_PARAMETER_RDG_BUFFER_SRV(StructuredBuffer<float>, amplitudes)
46 SHADER_PARAMETER(uint32, pitchesLength)
49 SHADER_PARAMETER_RDG_BUFFER_SRV(StructuredBuffer<float>, pitches)
52 SHADER_PARAMETER(uint32, beatsLength)
55 SHADER_PARAMETER_RDG_BUFFER_SRV(StructuredBuffer<float>, beats)
56 END_SHADER_PARAMETER_STRUCT()
70 ST_AudioIOData_GT = InST_AudioIOData_GT;
77 virtual void PostInitProperties()
override;
86 virtual void GetFunctions(TArray<FNiagaraFunctionSignature>& OutFunctions)
override;
94 virtual bool CanExecuteOnTarget(ENiagaraSimTarget Target)
const override {
return Target == ENiagaraSimTarget::GPUComputeSim; }
101 virtual void BuildShaderParameters(FNiagaraShaderParametersBuilder& ShaderParametersBuilder)
const override;
108 virtual void SetShaderParameters(
const FNiagaraDataInterfaceSetShaderParametersContext& Context)
const override;
110#if WITH_EDITORONLY_DATA
117 virtual bool AppendCompileHash(FNiagaraCompileHashVisitor* InVisitor)
const override;
128 virtual bool GetFunctionHLSL(
const FNiagaraDataInterfaceGPUParamInfo& ParamInfo,
const FNiagaraDataInterfaceGeneratedFunction& FunctionInfo,
int FunctionInstanceIndex, FString& OutHLSL)
override;
136 virtual void GetParameterDefinitionHLSL(
const FNiagaraDataInterfaceGPUParamInfo& ParamInfo, FString& OutHLSL)
override;
154 virtual bool PerInstanceTick(
void* PerInstanceData, FNiagaraSystemInstance* SystemInstance,
float DeltaSeconds)
override;
161 virtual int32 PerInstanceDataSize()
const override;
170 virtual bool InitPerInstanceData(
void* PerInstanceData, FNiagaraSystemInstance* SystemInstance)
override;
178 virtual void DestroyPerInstanceData(
void* PerInstanceData, FNiagaraSystemInstance* SystemInstance)
override;