5#include "CoreMinimal.h"
6#include "Compute/Utils/ST_VJ_ManagedRPCSInterface.h"
7#include "Subsystems/WorldSubsystem.h"
9#include "RenderCommandFence.h"
10#include "ST_VJ_RPCSManager.generated.h"
12DECLARE_LOG_CATEGORY_EXTERN(LogST_VJ_RPCSManager, Log, All);
20class ST_AUDIOVISUALISATION_API
UST_VJ_RPCSManager : public UWorldSubsystem, public FTickableGameObject
37 virtual void Initialize(FSubsystemCollectionBase& Collection)
override;
52 virtual void Tick(
float DeltaTime)
override;
59 virtual TStatId
GetStatId()
const override;
73 UFUNCTION(BlueprintCallable, Category =
"ShaderTech|AudioVisualisation|Compute")
99 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|AudioVisualisation|Compute")
103 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"ShaderTech|AudioVisualisation|Compute")
Interface class for managed RPCs related to compute shader lifecycle handling.
Definition ST_VJ_ManagedRPCSInterface.h:26
virtual bool IsTickable() const override
Definition ST_VJ_RPCSManager.cpp:105
FRenderCommandFence RenderCommandFence
Definition ST_VJ_RPCSManager.h:111
virtual TStatId GetStatId() const override
Definition ST_VJ_RPCSManager.cpp:100
static UST_VJ_RPCSManager * Get(UWorld *World)
Definition ST_VJ_RPCSManager.cpp:154
virtual void Deinitialize() override
Definition ST_VJ_RPCSManager.cpp:35
int32 MaxFPS
Definition ST_VJ_RPCSManager.h:104
bool bIsExecuting
Definition ST_VJ_RPCSManager.h:108
void DispatchComputeShaders(float DeltaTime=0.016667)
Definition ST_VJ_RPCSManager.cpp:111
UST_VJ_RPCSManager()
Definition ST_VJ_RPCSManager.cpp:17
virtual void Initialize(FSubsystemCollectionBase &Collection) override
Definition ST_VJ_RPCSManager.cpp:23
TArray< IST_VJ_ManagedRPCSInterface * > ManagedCSs
Definition ST_VJ_RPCSManager.h:29
void Register(IST_VJ_ManagedRPCSInterface *ManagedCS)
Definition ST_VJ_RPCSManager.cpp:42
bool bEnabled
Definition ST_VJ_RPCSManager.h:100
virtual void Tick(float DeltaTime) override
Definition ST_VJ_RPCSManager.cpp:92
void Deregister(IST_VJ_ManagedRPCSInterface *ManagedCS)
Definition ST_VJ_RPCSManager.cpp:66