Elevate Engine 1
Loading...
Searching...
No Matches
Elevate::ShaderManager Class Reference

#include <ShaderManager.h>

Static Public Member Functions

static ShaderPtr LoadShader (const std::string &name, ShaderPtr shader)
 
static ShaderPtr LoadShader (const std::string &name, const std::string &vertexSrcPath, const std::string &fragSrcPath)
 
static ShaderPtr LoadShader (const std::string &name, const std::string &vertexSrcPath, const std::string &, const std::string &customVertCode, const std::string &customFragCode)
 
static ShaderPtr GetShader (const std::string &name)
 

Detailed Description

Definition at line 13 of file ShaderManager.h.

Member Function Documentation

◆ GetShader()

ShaderPtr Elevate::ShaderManager::GetShader ( const std::string &  name)
static

Definition at line 37 of file ShaderManager.cpp.

38 {
39 return (instance().m_Shaders.count(name) > 0) ? instance().m_Shaders[name] : nullptr;
40 }

◆ LoadShader() [1/3]

ShaderPtr Elevate::ShaderManager::LoadShader ( const std::string &  name,
const std::string &  vertexSrcPath,
const std::string &  fragSrcPath,
const std::string &  customVertCode,
const std::string &  customFragCode 
)
static

Definition at line 32 of file ShaderManager.cpp.

33 {
34 return LoadShader(name, Shader::CreateFromFiles(vertexSrcPath, fragSrcPath, customVertCode, customFragCode));
35 }
static ShaderPtr LoadShader(const std::string &name, ShaderPtr shader)
static std::shared_ptr< Shader > CreateFromFiles(const std::string &vertexSrcPath, const std::string &fragSrcPath)
Definition Shader.cpp:79

◆ LoadShader() [2/3]

ShaderPtr Elevate::ShaderManager::LoadShader ( const std::string &  name,
const std::string &  vertexSrcPath,
const std::string &  fragSrcPath 
)
static

Definition at line 27 of file ShaderManager.cpp.

28 {
29 return LoadShader(name, Shader::CreateFromFiles(vertexSrcPath, fragSrcPath));
30 }

◆ LoadShader() [3/3]

ShaderPtr Elevate::ShaderManager::LoadShader ( const std::string &  name,
ShaderPtr  shader 
)
static

Definition at line 8 of file ShaderManager.cpp.

9 {
11 {
12 EE_CORE_ERROR("(ShaderManager::LoadShader) : You cannot create a shader with the name : default. This is reservez for the default shader for the whole engine.");
13 return nullptr;
14 }
15
16 if (instance().m_Shaders.count(name) > 0)
17 {
18 return instance().m_Shaders[name];
19 }
20 else
21 {
22 instance().m_Shaders[name] = shader;
23 return shader;
24 }
25 }
#define EE_DEFAULT_SHADER
static ShaderPtr GetShader(const std::string &name)

The documentation for this class was generated from the following files: