Manages runtime compute shader execution for registered objects.
More...
#include <ST_VJ_RPCSManager.h>
Manages runtime compute shader execution for registered objects.
Acts as a world subsystem and handles ticking compute shaders both on game and render threads.
◆ UST_VJ_RPCSManager()
UST_VJ_RPCSManager::UST_VJ_RPCSManager |
( |
| ) |
|
Constructor. Initializes default values.
◆ Deinitialize()
void UST_VJ_RPCSManager::Deinitialize |
( |
| ) |
|
|
overrideprotectedvirtual |
Function called before the subsystem is destroyed.
◆ Deregister()
Deregisters a managed compute shader interface.
- Parameters
-
ManagedCS | The compute shader interface to deregister. |
◆ DispatchComputeShaders()
void UST_VJ_RPCSManager::DispatchComputeShaders |
( |
float | DeltaTime = 0.016667 | ) |
|
Dispatches compute shaders for all registered managed compute shaders.
- Parameters
-
DeltaTime | Optional delta time value. Defaults to 1/60 (60 FPS). |
◆ Get()
Static getter to retrieve the RPCS Manager instance for a given world.
- Parameters
-
- Returns
- The RPCS Manager instance, or nullptr if not found.
◆ GetStatId()
TStatId UST_VJ_RPCSManager::GetStatId |
( |
| ) |
const |
|
overridevirtual |
Returns a stat ID for profiling.
- Returns
- The stat ID.
◆ Initialize()
void UST_VJ_RPCSManager::Initialize |
( |
FSubsystemCollectionBase & | Collection | ) |
|
|
overrideprotectedvirtual |
Initialization function, called when the subsystem is created.
- Parameters
-
Collection | The collection of subsystems for this world. |
◆ IsTickable()
bool UST_VJ_RPCSManager::IsTickable |
( |
| ) |
const |
|
overridevirtual |
Determines whether this object should be ticked.
- Returns
- True if the object should tick, false otherwise.
◆ Register()
Registers a managed compute shader interface for automatic execution.
- Parameters
-
ManagedCS | The compute shader interface to register. |
◆ Tick()
void UST_VJ_RPCSManager::Tick |
( |
float | DeltaTime | ) |
|
|
overridevirtual |
Called every frame if the subsystem is tickable.
- Parameters
-
DeltaTime | Time elapsed since the last frame. |
◆ bEnabled
bool UST_VJ_RPCSManager::bEnabled = true |
Whether compute shader dispatching is enabled.
◆ bIsExecuting
bool UST_VJ_RPCSManager::bIsExecuting = false |
|
protected |
Whether the manager is currently executing compute shaders.
◆ ManagedCSs
List of registered compute shader interfaces being managed.
◆ MaxFPS
int32 UST_VJ_RPCSManager::MaxFPS = 60 |
Maximum frames per second for compute shader dispatching.
◆ RenderCommandFence
FRenderCommandFence UST_VJ_RPCSManager::RenderCommandFence |
|
protected |
Render command fence for synchronizing render thread compute shader work.
The documentation for this class was generated from the following files:
- H:/Games/Unreal/Aaron/FunWithShaders/Plugins/ST_VJMaster/Source/ST_AudioVisualisation/Public/Compute/Utils/ST_VJ_RPCSManager.h
- H:/Games/Unreal/Aaron/FunWithShaders/Plugins/ST_VJMaster/Source/ST_AudioVisualisation/Private/Compute/Utils/ST_VJ_RPCSManager.cpp