5#include "CoreMinimal.h"
6#include "Main/Base/ST_VisComputeBase.h"
7#include "Data/ST_AudioReactiveBoidsLib.h"
8#include "Compute/Utils/ST_VJ_PingPongBuffer.h"
9#include "GlobalShader.h"
10#include "NiagaraComponent.h"
11#include "DataDrivenShaderPlatformInfo.h"
12#include "Data/ST_AudioIOLib.h"
13#include "Materials/MaterialInstanceDynamic.h"
14#include "ST_C_VisAudioReactiveBoids.generated.h"
123 TArray<class UST_AudioIOBase*> RegisteredIOs;
127 UPROPERTY(Transient, VisibleAnywhere, BlueprintReadOnly, Category =
"ShaderTech|Boids")
131 UPROPERTY(Transient, VisibleAnywhere, BlueprintReadOnly, Category =
"ShaderTech|Boids")
135 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category =
"ShaderTech|Boids")
139 UPROPERTY(Transient, VisibleAnywhere, BlueprintReadOnly, Category =
"Niagara")
143 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Transient, Category =
"ShaderTech|Boids")
144 UMaterialInstanceDynamic*
MatiD =
nullptr;
167 FMatrix BoundsMatrix;
172 return "VisAudioReactiveBoids";
FST_VJ_BoidsRDGStateData BoidsRDGStateData
Definition ST_C_VisAudioReactiveBoids.h:150
virtual void InitComputeShader_GameThread() override
Definition ST_C_VisAudioReactiveBoids.cpp:43
FST_VJ_PingPongBuffer BoidsPingPongBuffer
Definition ST_C_VisAudioReactiveBoids.h:147
FST_AudioIOBuffers_RenderThread ST_AudioIOBuffers_RT
Definition ST_C_VisAudioReactiveBoids.h:156
virtual FString GetOwnerName() const override
Definition ST_C_VisAudioReactiveBoids.h:170
virtual void DisposeComputeShader_RenderThread(FRHICommandListImmediate &RHICmdList) override
Definition ST_C_VisAudioReactiveBoids.cpp:116
virtual void BeginPlay() override
Definition ST_C_VisAudioReactiveBoids.cpp:21
virtual void OnAudioIOStatusChanged_Implementation(bool bIsActive, FIntPoint IOId) override
Definition ST_C_VisAudioReactiveBoids.cpp:203
virtual void ExecuteComputeShader_GameThread(float DeltaTime) override
Definition ST_C_VisAudioReactiveBoids.cpp:82
FST_VJ_BoidCurrentParameters BoidCurrentParameters
Definition ST_C_VisAudioReactiveBoids.h:128
FST_VJ_ReactiveBoidDynamicParameters ReactiveBoidDynamicParameters
Definition ST_C_VisAudioReactiveBoids.h:132
virtual bool SetConstantParameters() override
Definition ST_C_VisAudioReactiveBoids.cpp:131
virtual void InitComputeShader_RenderThread(FRHICommandListImmediate &RHICmdList) override
Definition ST_C_VisAudioReactiveBoids.cpp:63
virtual void OnBeatDetected_Implementation(const TArray< float > &Beats, const TArray< bool > &BeatDetectedForChannel, FIntPoint IOId) override
Definition ST_C_VisAudioReactiveBoids.cpp:232
UNiagaraComponent * Niagara
Definition ST_C_VisAudioReactiveBoids.h:140
virtual void BeginDestroy() override
Definition ST_C_VisAudioReactiveBoids.cpp:32
virtual TSoftObjectPtr< UNiagaraSystem > GetNiagaraSystem() const
Definition ST_C_VisAudioReactiveBoids.cpp:125
virtual void ExecuteComputeShader_RenderThread(FRHICommandListImmediate &RHICmdList) override
Definition ST_C_VisAudioReactiveBoids.cpp:91
FST_AudioIOData_GameThread ST_AudioIOData_GT
Definition ST_C_VisAudioReactiveBoids.h:153
virtual void OnFrequencyBandsReady_Implementation(const TArray< float > &FrequencyBands, int32 NumFrequencyBands, FIntPoint IOId) override
Definition ST_C_VisAudioReactiveBoids.cpp:217
virtual void OnPitchesReady_Implementation(const TArray< float > &Pitches, FIntPoint IOId) override
Definition ST_C_VisAudioReactiveBoids.cpp:222
virtual void OnAmplitudesReady_Implementation(const TArray< float > &Amplitudes, FIntPoint IOId) override
Definition ST_C_VisAudioReactiveBoids.cpp:227
virtual bool SetDynamicParameters() override
Definition ST_C_VisAudioReactiveBoids.cpp:169
TArray< FST_VJ_BoidItem > BoidsArray
Definition ST_C_VisAudioReactiveBoids.h:136
UMaterialInstanceDynamic * MatiD
Definition ST_C_VisAudioReactiveBoids.h:144
virtual void DisposeComputeShader_GameThread() override
Definition ST_C_VisAudioReactiveBoids.cpp:110
AST_C_VisAudioReactiveBoids()
Definition ST_C_VisAudioReactiveBoids.cpp:12
AST_VisComputeBase()
Definition ST_VisComputeBase.cpp:7
Struct that holds audio I/O buffers for the render thread, including scoped references and pooled buf...
Definition ST_AudioIOLib.h:165
Struct that holds audio I/O data for the game thread.
Definition ST_AudioIOLib.h:31
Struct to hold current parameters for VJ boids, combining constant and dynamic parameters along with ...
Definition ST_AudioReactiveBoidsLib.h:254
Struct representing a single boid item in the VJ system, including its position, velocity,...
Definition ST_AudioReactiveBoidsLib.h:41
Struct representing the render graph state data for VJ boids, including passes and fences.
Definition ST_AudioReactiveBoidsLib.h:70
Structure representing a Ping-Pong buffer setup for compute shaders.
Definition ST_VJ_PingPongBuffer.h:17
Struct to hold reactive dynamic parameters for boids, such as audio-reactive noise multipliers and fr...
Definition ST_AudioReactiveBoidsLib.h:196