class render::GpuUniformBufferManager

Takes care of initializing uniform buffers definitions in a delayed manner since they depend on engine systems yet are usually used as global variables which are initialized before engine systems are ready.

Render thread only.

Public

Constructors

GpuUniformBufferManager

GpuUniformBufferManager()

Methods

~GpuUniformBufferManager

~GpuUniformBufferManager() noexcept

AdvanceFrame

void AdvanceFrame()

Notifies the uniform buffer pools that a new frame has begun.

UnregisterBuffer

void UnregisterBuffer(GpuUniformBuffer *buffer)

Removes the uniform buffer from the active buffer list.

staticRegisterBuffer

static void RegisterBuffer(GpuUniformBuffer *buffer)

Registers a new uniform buffer, and initializes it when ready.

staticInstance

static T &Instance()

Returns a reference to the module instance.

Module has to have been started up first otherwise an exception will be thrown.

staticInstancePtr

static T *InstancePtr()

Returns a pointer to the module instance.

Module has to have been started up first otherwise an exception will be thrown.

staticShutDown

static void ShutDown()

Shuts down this module and frees any resources it is using.

staticIsStarted

static bool IsStarted()

Query if the module has been started.

Protected

Methods

~Module<T>

virtual ~Module<T>() = default

OnStartUp

virtual void OnStartUp()

Override if you want your module to be notified once it has been constructed and started.

OnShutDown

virtual void OnShutDown()

Override if you want your module to be notified just before it is deleted.

staticInstanceInternal

static T *&InstanceInternal()

Returns a singleton instance of this module.

staticIsDestroyed

static bool &IsDestroyed()

Checks has the Module been shut down.

staticIsStartedUp

static bool &IsStartedUp()

Checks has the Module been started up.

Private

Methods

staticGetToInitializeList

static TArray<GpuUniformBuffer *> &GetToInitializeList()

Retrieves the list of uniform buffers to initialize when the module is started.

Fields

mActiveBuffers

TArray<GpuUniformBuffer *> mActiveBuffers