class RendererMaterialManager

Initializes and handles all renderer materials.

Public

Constructors

RendererMaterialManager

RendererMaterialManager()

Methods

~RendererMaterialManager

~RendererMaterialManager() noexcept

staticRegisterMaterial

static void RegisterMaterial(render::RendererMaterialMetaData *metaData, const char *shaderPath)

Registers a new material that should be initialized on module start-up.

staticGetDefinesInternal

static ShaderDefines GetDefinesInternal(const Path &shaderPath)

Returns a set of defines to be used when importing the shader.

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

staticInitOnRenderThread

static void InitOnRenderThread()

Initializes the manager on the render thread.

staticDestroyOnRenderThread

static void DestroyOnRenderThread()

Destroys all materials on the render thread.

staticGetMaterials

static Vector<RendererMaterialData> &GetMaterials()

Returns a list in which are all materials managed by this module.

staticGetMutex

static Mutex &GetMutex()

Returns a mutex used for inter-thread access to the materials list.