21 GENERATED_UCLASS_BODY()
24 BEGIN_SHADER_PARAMETER_STRUCT(FShaderParameters, )
25 SHADER_PARAMETER(FVector4f, ColourSolid)
26 SHADER_PARAMETER(FVector4f, ColourRange1)
27 SHADER_PARAMETER(FVector4f, ColourRange2)
28 END_SHADER_PARAMETER_STRUCT()
32 UPROPERTY(EditAnywhere, Category =
"Audio", meta = (ToolTip =
"Which measurement display properties we should use"))
41 virtual
bool CopyToInternal(UNiagaraDataInterface* Destination) const override;
45 virtual
void GetFunctions(TArray<FNiagaraFunctionSignature>& OutFunctions) override;
48 virtual
void GetVMExternalFunction(const FVMExternalFunctionBindingInfo& BindingInfo,
void* InstanceData, FVMExternalFunction& OutFunc) override;
53#if WITH_EDITORONLY_DATA
55 virtual bool AppendCompileHash(FNiagaraCompileHashVisitor* InVisitor)
const override;
58 virtual bool GetFunctionHLSL(
const FNiagaraDataInterfaceGPUParamInfo& ParamInfo,
const FNiagaraDataInterfaceGeneratedFunction& FunctionInfo,
int FunctionInstanceIndex, FString& OutHLSL)
override;
61 virtual void GetParameterDefinitionHLSL(
const FNiagaraDataInterfaceGPUParamInfo& ParamInfo, FString& OutHLSL)
override;
65 virtual void BuildShaderParameters(FNiagaraShaderParametersBuilder& ShaderParametersBuilder)
const override;
68 virtual void SetShaderParameters(
const FNiagaraDataInterfaceSetShaderParametersContext& Context)
const override;
71 virtual bool InitPerInstanceData(
void* PerInstanceData, FNiagaraSystemInstance* SystemInstance)
override;
74 virtual void DestroyPerInstanceData(
void* PerInstanceData, FNiagaraSystemInstance* SystemInstance)
override;
77 virtual int32 PerInstanceDataSize()
const override;
83 virtual bool PerInstanceTick(
void* PerInstanceData, FNiagaraSystemInstance* SystemInstance,
float DeltaSeconds)
override;
86 virtual void ProvidePerInstanceDataForRenderThread(
void* DataForRenderThread,
void* PerInstanceData,
const FNiagaraSystemInstanceID& SystemInstance)
override;
90 void GetSolidColourVM(FVectorVMExternalFunctionContext& Context);
93 void GetRandomColourInRangeVM(FVectorVMExternalFunctionContext& Context);
96 void GetRandomColourVM(FVectorVMExternalFunctionContext& Context);
99 void GetRandomColourHSVVM(FVectorVMExternalFunctionContext& Context);
102 void GetMappedColourInWheelVM(FVectorVMExternalFunctionContext& Context);
105 void GetMappedColourInRangeVM(FVectorVMExternalFunctionContext& Context);
109 static const FName NAME_GetSolidColour;
112 static const FName NAME_GetRandomColourInRange;
115 static const FName NAME_GetRandomColour;
118 static const FName NAME_GetRandomColourHSV;
121 static const FName NAME_GetMappedColourInWheel;
124 static const FName NAME_GetMappedColourInRange;