Elevate Engine
1
Loading...
Searching...
No Matches
ShaderManager.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <string>
4
#include <unordered_map>
5
#include <memory>
6
7
#define EE_DEFAULT_SHADER "default"
8
9
namespace
Elevate
{
10
class
Shader;
11
using
ShaderPtr
= std::shared_ptr<Shader>;
12
13
class
ShaderManager
{
14
public
:
15
static
ShaderPtr
LoadShader
(
const
std::string& name,
ShaderPtr
shader);
16
static
ShaderPtr
LoadShader
(
const
std::string& name,
const
std::string& vertexSrcPath,
const
std::string& fragSrcPath);
17
static
ShaderPtr
LoadShader
(
const
std::string& name,
const
std::string& vertexSrcPath,
const
std::string&,
const
std::string& customVertCode,
const
std::string& customFragCode);
18
19
static
ShaderPtr
GetShader
(
const
std::string& name);
20
21
private
:
22
ShaderManager
() =
default
;
23
void
Init();
24
static
ShaderManager
& instance();
25
26
std::unordered_map<std::string, ShaderPtr> m_Shaders;
27
28
bool
m_initialized =
false
;
29
};
30
}
Elevate::ShaderManager
Definition
ShaderManager.h:13
Elevate::ShaderManager::LoadShader
static ShaderPtr LoadShader(const std::string &name, ShaderPtr shader)
Definition
ShaderManager.cpp:8
Elevate::ShaderManager::GetShader
static ShaderPtr GetShader(const std::string &name)
Definition
ShaderManager.cpp:37
Elevate
Definition
AudioDistanceProbe.h:9
Elevate::ShaderPtr
std::shared_ptr< Shader > ShaderPtr
Definition
Shader.h:128
ElevateEngine
src
ElevateEngine
Renderer
Shader
ShaderManager.h
Generated by
1.9.8