Slippers Engine
 
Loading...
Searching...
No Matches
ShaderManager Class Reference

Singleton responisble for loading and retrieving shaders. More...

#include <ShaderManager.h>

Collaboration diagram for ShaderManager:
Collaboration graph

Public Types

enum class  DefaultShaders { TEXTUREFLAT , TEXTURELIGHT , COLORCONST , SPRITE }
 Collection of Preloaded Shaders. More...
 

Static Public Member Functions

static void LoadShader (const MapKey &key, const std::string &path)
 Load Shader with KEY and FILE PATH.
 
static ShaderObject * GetShader (const MapKey &key)
 Returns shader object pointer with given KEY.
 
static ShaderObject * GetShader (DefaultShaders key)
 Returns shader object pointer from DEFAULTSHADERS.
 

Private Types

using MapKey = std::string
 KEYS stored as STRINGS.
 

Detailed Description

Singleton responisble for loading and retrieving shaders.

Member Typedef Documentation

◆ MapKey

using ShaderManager::MapKey = std::string
private

KEYS stored as STRINGS.

Member Enumeration Documentation

◆ DefaultShaders

enum class ShaderManager::DefaultShaders
strong

Collection of Preloaded Shaders.

Enumerator
TEXTUREFLAT 
TEXTURELIGHT 
COLORCONST 
SPRITE 

Member Function Documentation

◆ GetShader() [1/2]

static ShaderObject * ShaderManager::GetShader ( const MapKey & key)
static

Returns shader object pointer with given KEY.

A function that returns a shader object pointer based on a user generated key. Checks if key already exists.

Parameters
key
Returns
ShaderObject*

◆ GetShader() [2/2]

static ShaderObject * ShaderManager::GetShader ( DefaultShaders key)
static

Returns shader object pointer from DEFAULTSHADERS.

A function that returns a shader object pointer based on the enum class DefaultShaders.

Parameters
key
Returns
ShaderObject*

◆ LoadShader()

static void ShaderManager::LoadShader ( const MapKey & key,
const std::string & path )
static

Load Shader with KEY and FILE PATH.

A function callable in SlippersResources/LoadResources that takes in a String as a key for retrieval, as well as a file path for a shader existing in Assets/Shaders. Checks for repeated key use.

Parameters
key
path