5#include "CoreMinimal.h"
6#include "RHIGPUReadback.h"
7#include "RenderGraphDefinitions.h"
8#include "Main/ST_AudioProcessingSettings.h"
9#include "ST_AudioReactiveBoidsLib.generated.h"
21 UPROPERTY(EditAnywhere, BlueprintReadWrite, AdvancedDisplay, Category =
"ShaderTech|Bounds|Constants")
25 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|Bounds|Constants", meta = (EditCondition =
"bSphere"))
29 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|Bounds|Constants", meta = (EditCondition =
"!bSphere"))
46 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category =
"ShaderTech|Boids")
47 FVector3f
pos = FVector3f(0.0f, 0.0f, 0.0f);
50 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category =
"ShaderTech|Boids")
51 FVector3f
vel = FVector3f(0.0f, 0.0f, 0.0f);
54 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category =
"ShaderTech|Boids")
58 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category =
"ShaderTech|Boids")
62 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category =
"ShaderTech|Boids")
63 FVector4f
col = FVector4f(0.0f, 0.0f, 0.0f, 0.0f);
99 for (int32 Index = 0; Index <
InitPass.Num(); ++Index)
103 for (int32 Index = 0; Index <
ExecutePass.Num(); ++Index)
129USTRUCT(BlueprintType)
136 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|Boids|Constants")
143USTRUCT(BlueprintType)
150 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|Boid|Variables")
154 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|Boids|Variables")
158 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|Boids|Variables")
165 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|Boids|Variables")
169 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|Boids|Variables")
173 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|Boids|Variables")
177 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|Boids|Variables")
187 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|Boids|Variables")
194USTRUCT(BlueprintType)
201 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|Boids|Variables")
205 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|Boids|Variables")
209 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|Boids|Variables")
213 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|Boids|Variables")
217 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|Boids|Variables", meta = (EditCondition =
"!baudio_ReactiveNoise0_Mono"))
221 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|Boids|Variables")
225 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|Boids|Variables")
229 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|Boids|Variables")
233 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|Boids|Variables")
237 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|Boids|Variables", meta = (EditCondition =
"!baudio_ReactiveNoise1_Mono"))
241 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|Boids|Variables")
245 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|Boids|Variables")
252USTRUCT(BlueprintType)
Struct to hold constant parameters for VJ boids, such as the number of boids.
Definition ST_AudioReactiveBoidsLib.h:131
int32 numBoids
Definition ST_AudioReactiveBoidsLib.h:137
Struct to hold current parameters for VJ boids, combining constant and dynamic parameters along with ...
Definition ST_AudioReactiveBoidsLib.h:254
FMatrix44f inverseTransformMatrix
Definition ST_AudioReactiveBoidsLib.h:274
FST_VJ_BoidDynamicParameters DynamicParameters
Definition ST_AudioReactiveBoidsLib.h:262
float worldScale
Definition ST_AudioReactiveBoidsLib.h:265
FMatrix44f transformMatrix
Definition ST_AudioReactiveBoidsLib.h:271
float boundsRadius
Definition ST_AudioReactiveBoidsLib.h:268
FST_VJ_BoidConstantParameters ConstantParameters
Definition ST_AudioReactiveBoidsLib.h:259
Struct to hold dynamic parameters for VJ boids, such as simulation speed, max speed,...
Definition ST_AudioReactiveBoidsLib.h:145
float turnSpeed() const
Definition ST_AudioReactiveBoidsLib.h:181
FVector2f separationFactor
Definition ST_AudioReactiveBoidsLib.h:170
FVector2f perlinNoiseForce
Definition ST_AudioReactiveBoidsLib.h:178
float minSpeed() const
Definition ST_AudioReactiveBoidsLib.h:184
float maxSpeed
Definition ST_AudioReactiveBoidsLib.h:155
FVector2f cohesionFactor
Definition ST_AudioReactiveBoidsLib.h:166
float meshScale
Definition ST_AudioReactiveBoidsLib.h:188
float minDistance
Definition ST_AudioReactiveBoidsLib.h:159
float minDistanceSq() const
Definition ST_AudioReactiveBoidsLib.h:162
float simulationSpeed
Definition ST_AudioReactiveBoidsLib.h:151
FVector2f alignmentFactor
Definition ST_AudioReactiveBoidsLib.h:174
Struct representing a single boid item in the VJ system, including its position, velocity,...
Definition ST_AudioReactiveBoidsLib.h:41
FVector3f vel
Definition ST_AudioReactiveBoidsLib.h:51
float reactiveNoise0
Definition ST_AudioReactiveBoidsLib.h:55
float reactiveNoise1
Definition ST_AudioReactiveBoidsLib.h:59
FVector3f pos
Definition ST_AudioReactiveBoidsLib.h:47
FVector4f col
Definition ST_AudioReactiveBoidsLib.h:63
FST_VJ_BoidsRDGStateData(int32 InitPassSize, int32 ExecutePassSize)
Definition ST_AudioReactiveBoidsLib.h:89
bool WaitingOnInitFence()
Definition ST_AudioReactiveBoidsLib.h:120
TArray< FRDGPassRef > InitPass
Definition ST_AudioReactiveBoidsLib.h:72
void Dispose()
Definition ST_AudioReactiveBoidsLib.h:110
FGPUFenceRHIRef InitFence
Definition ST_AudioReactiveBoidsLib.h:78
TArray< FRDGPassRef > ExecutePass
Definition ST_AudioReactiveBoidsLib.h:75
FST_VJ_BoidsRDGStateData()
Definition ST_AudioReactiveBoidsLib.h:81
void ClearPasses()
Definition ST_AudioReactiveBoidsLib.h:97
Struct to hold constant parameters for VJ bounds, such as sphere radius or extent of the bounding box...
Definition ST_AudioReactiveBoidsLib.h:16
bool bSphere
Definition ST_AudioReactiveBoidsLib.h:22
float Radius
Definition ST_AudioReactiveBoidsLib.h:26
FVector BoundsExtent
Definition ST_AudioReactiveBoidsLib.h:30
Struct to hold reactive dynamic parameters for boids, such as audio-reactive noise multipliers and fr...
Definition ST_AudioReactiveBoidsLib.h:196
int32 audio_ReactiveNoise1_ChannelIndex
Definition ST_AudioReactiveBoidsLib.h:238
bool baudio_ReactiveNoise0_Mono
Definition ST_AudioReactiveBoidsLib.h:214
EAudioIOType audio_ReactiveNoise0_IO
Definition ST_AudioReactiveBoidsLib.h:210
int32 audio_ReactiveMaterial1_ChannelIndex
Definition ST_AudioReactiveBoidsLib.h:246
float audio_ReactiveNoise1_Multiplier
Definition ST_AudioReactiveBoidsLib.h:222
bool baudio_ReactiveNoise1_Mono
Definition ST_AudioReactiveBoidsLib.h:234
int32 audio_ReactiveNoise0_ChannelIndex
Definition ST_AudioReactiveBoidsLib.h:218
EAudioIOType audio_ReactiveNoise1_IO
Definition ST_AudioReactiveBoidsLib.h:230
float audio_ReactiveNoise0_Multiplier
Definition ST_AudioReactiveBoidsLib.h:202
int32 audio_ReactiveNoise0_FrequencyIndex
Definition ST_AudioReactiveBoidsLib.h:206
int32 audio_ReactiveNoise1_FrequencyIndex
Definition ST_AudioReactiveBoidsLib.h:226
int32 audio_ReactiveMaterial0_ChannelIndex
Definition ST_AudioReactiveBoidsLib.h:242