Radium Engine
1.5.20
Toggle main menu visibility
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
f
g
i
l
m
n
o
p
q
r
s
t
v
z
Functions
a
c
d
f
g
i
l
m
n
o
p
q
r
s
t
v
Variables
Typedefs
Enumerations
Enumerator
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
~
Functions
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
~
Variables
b
d
f
i
m
s
v
w
Typedefs
a
b
c
f
g
i
k
o
r
s
t
v
Enumerations
Enumerator
Related Symbols
Files
File List
File Members
All
Macros
▼
Radium Engine
►
Radium Basics
►
Radium Concepts
►
Developer manual
►
Licenses
Todo List
Deprecated List
►
Namespaces
►
Classes
▼
Files
▼
File List
▼
src
►
Core
▼
Engine
▼
Data
BlinnPhongMaterial.cpp
BlinnPhongMaterial.hpp
DisplayableObject.hpp
DrawPrimitives.cpp
DrawPrimitives.hpp
EnvironmentTexture.cpp
EnvironmentTexture.hpp
LambertianMaterial.cpp
LambertianMaterial.hpp
Material.cpp
Material.hpp
MaterialConverters.cpp
MaterialConverters.hpp
MaterialTextureSet.hpp
Mesh.cpp
Mesh.hpp
PlainMaterial.cpp
PlainMaterial.hpp
RawShaderMaterial.cpp
RawShaderMaterial.hpp
RenderParameters.cpp
RenderParameters.hpp
ShaderConfigFactory.cpp
ShaderConfigFactory.hpp
ShaderConfiguration.cpp
ShaderConfiguration.hpp
ShaderProgram.cpp
ShaderProgram.hpp
ShaderProgramManager.cpp
ShaderProgramManager.hpp
SimpleMaterial.cpp
SimpleMaterial.hpp
stb.cpp
Texture.cpp
Texture.hpp
TextureManager.cpp
TextureManager.hpp
ViewingParameters.hpp
VolumeObject.cpp
VolumeObject.hpp
VolumetricMaterial.cpp
VolumetricMaterial.hpp
►
Rendering
►
Scene
FrameInfo.hpp
OpenGL.hpp
pch.hpp
RadiumEngine.cpp
RadiumEngine.hpp
RaEngine.hpp
►
Gui
►
Headless
►
IO
►
PluginBase
►
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
Loading...
Searching...
No Matches
ShaderProgramManager.hpp
1
#pragma once
2
3
#include <Engine/RaEngine.hpp>
4
5
#include <map>
6
#include <memory>
7
#include <string>
8
#include <vector>
9
10
#include <Core/Utils/Singleton.hpp>
11
#include <Core/Utils/StdOptional.hpp>
12
13
namespace
globjects {
14
class
File;
15
class
NamedString;
16
}
// namespace globjects
17
18
namespace
Ra
{
19
namespace
Engine {
20
namespace
Data {
21
22
class
ShaderProgram;
23
class
ShaderConfiguration;
24
36
class
RA_ENGINE_API
ShaderProgramManager
final
37
{
38
39
public
:
41
ShaderProgramManager
();
42
~ShaderProgramManager
();
43
ShaderProgramManager
(
const
ShaderProgramManager
& ) =
delete
;
44
ShaderProgramManager
& operator=(
const
ShaderProgramManager
& ) =
delete
;
45
57
Core::Utils::optional<const Data::ShaderProgram*>
58
addShaderProgram(
const
Data::ShaderConfiguration
& config );
59
65
const
Data::ShaderProgram
* getShaderProgram(
const
std::string
&
id
);
66
73
const
Data::ShaderProgram
* getShaderProgram(
const
Data::ShaderConfiguration
& config );
74
79
void
reloadAllShaderPrograms();
85
void
reloadNotCompiledShaderPrograms();
86
95
bool
addNamedString(
const
std::string
& includepath,
const
std::string
& realfile );
96
101
void
reloadNamedString();
102
103
private
:
104
void
insertShader(
const
Data::ShaderConfiguration
& config,
105
const
std::shared_ptr<Data::ShaderProgram>
& shader );
106
107
private
:
108
std::map<std::string, Data::ShaderConfiguration>
m_shaderProgramIds;
109
std::map<Data::ShaderConfiguration, std::shared_ptr<Data::ShaderProgram>
> m_shaderPrograms;
110
std::vector<Data::ShaderConfiguration>
m_shaderFailedConfs;
111
112
std::map
<
std::string
,
113
std::pair<std::unique_ptr<globjects::File>
,
std::unique_ptr<globjects::NamedString>
>>
114
m_namedStrings;
115
};
36
class
RA_ENGINE_API
ShaderProgramManager
final {
…
};
116
117
}
// namespace Data
118
}
// namespace Engine
119
}
// namespace Ra
std::string
Ra::Engine::Data::ShaderConfiguration
Definition
ShaderConfiguration.hpp:62
Ra::Engine::Data::ShaderProgramManager
Definition
ShaderProgramManager.hpp:37
Ra::Engine::Data::ShaderProgram
Definition
ShaderProgram.hpp:35
std::map
Ra
hepler function to manage enum as underlying types in VariableSet
Definition
Cage.cpp:3
std::pair
std::shared_ptr
std::unique_ptr
std::vector
src
Engine
Data
ShaderProgramManager.hpp
Generated by
1.12.0