Blamite Game Engine - blam!
00296.01.12.21.0102.blamite
The core library for the Blamite Game Engine.
uniforms.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <string>
4
5
#include "
components/rendering/rendering.h
"
6
7
#ifndef BLAM
8
#define BLAM
9
#endif
10
11
enum class
BlamShaderUniformType
12
{
13
U_Float1
,
14
U_Float2
,
15
U_Float3
,
16
U_Float4
,
17
18
U_Int1
,
19
U_Int2
,
20
U_Int3
,
21
U_Int4
,
22
23
Undefined
24
};
25
26
class
BlamGLSLShaderUniform
27
{
28
private
:
29
BlamShaderUniformType
type =
BlamShaderUniformType::Undefined
;
30
31
protected
:
32
std::string
name
=
""
;
33
GLuint
program_id
= -1;
34
GLint
uniform
= -1;
35
bool
valid
=
false
;
36
37
public
:
38
BlamGLSLShaderUniform
(GLuint _program_id, std::string _name,
BlamShaderUniformType
_type);
39
40
BlamShaderUniformType
GetType
();
41
std::string
GetName
();
42
bool
IsValid
();
43
void
Prepare
();
44
45
virtual
void
Update
();
46
};
47
48
class
BlamShaderUniform1F
:
public
BlamGLSLShaderUniform
49
{
50
public
:
51
float
x
= 0.0f;
52
53
BlamShaderUniform1F
(GLuint _program_id, std::string _name);
54
55
void
Update
();
56
};
57
58
class
BlamShaderUniform2F
:
public
BlamGLSLShaderUniform
59
{
60
61
};
62
63
class
BlamShaderUniform3F
:
public
BlamGLSLShaderUniform
64
{
65
66
};
67
68
class
BlamShaderUniform4F
:
public
BlamGLSLShaderUniform
69
{
70
71
};
72
73
74
namespace
Blam::Rendering::OpenGL
75
{
76
BLAM
BlamGLSLShaderUniform
*
CreateShaderUniform
(std::string name,
BlamShaderUniformType
type, GLuint program_id);
77
}
BlamShaderUniformType::U_Float3
@ U_Float3
BlamGLSLShaderUniform
Definition:
uniforms.h:26
BlamGLSLShaderUniform::Prepare
void Prepare()
Definition:
BlamGLSLShaderUniform.cpp:23
BlamShaderUniformType
BlamShaderUniformType
Definition:
uniforms.h:11
BlamShaderUniform2F
Definition:
uniforms.h:58
BlamShaderUniform1F
Definition:
uniforms.h:48
BlamShaderUniform3F
Definition:
uniforms.h:63
BlamShaderUniform4F
Definition:
uniforms.h:68
BlamGLSLShaderUniform::valid
bool valid
Definition:
uniforms.h:35
BlamGLSLShaderUniform::program_id
GLuint program_id
Definition:
uniforms.h:33
rendering.h
Blam::Rendering::OpenGL
Definition:
opengl.h:10
BlamShaderUniformType::U_Float1
@ U_Float1
Blam::Rendering::OpenGL::CreateShaderUniform
BLAM BlamGLSLShaderUniform * CreateShaderUniform(std::string name, BlamShaderUniformType type, GLuint program_id)
Definition:
uniforms.cpp:5
BlamShaderUniformType::U_Int2
@ U_Int2
BLAM
#define BLAM
Definition:
uniforms.h:8
BlamShaderUniform1F::Update
void Update()
Definition:
BlamShaderUniform1F.cpp:11
BlamShaderUniformType::U_Float4
@ U_Float4
BlamGLSLShaderUniform::GetName
std::string GetName()
Definition:
BlamGLSLShaderUniform.cpp:45
BlamGLSLShaderUniform::Update
virtual void Update()
Definition:
BlamGLSLShaderUniform.cpp:40
BlamShaderUniform1F::x
float x
Definition:
uniforms.h:51
BlamShaderUniform1F::BlamShaderUniform1F
BlamShaderUniform1F(GLuint _program_id, std::string _name)
Definition:
BlamShaderUniform1F.cpp:6
BlamShaderUniformType::Undefined
@ Undefined
BlamShaderUniformType::U_Int3
@ U_Int3
BlamShaderUniformType::U_Float2
@ U_Float2
BlamGLSLShaderUniform::name
std::string name
Definition:
uniforms.h:32
BlamGLSLShaderUniform::uniform
GLint uniform
Definition:
uniforms.h:34
BlamShaderUniformType::U_Int1
@ U_Int1
BlamGLSLShaderUniform::GetType
BlamShaderUniformType GetType()
Definition:
BlamGLSLShaderUniform.cpp:13
BlamGLSLShaderUniform::BlamGLSLShaderUniform
BlamGLSLShaderUniform(GLuint _program_id, std::string _name, BlamShaderUniformType _type)
Definition:
BlamGLSLShaderUniform.cpp:6
BlamShaderUniformType::U_Int4
@ U_Int4
BlamGLSLShaderUniform::IsValid
bool IsValid()
Definition:
BlamGLSLShaderUniform.cpp:18
blam
components
rendering
opengl
shaders
uniforms
uniforms.h
Generated on Tue Jan 12 2021 01:11:27 for Blamite Game Engine - blam! by
1.8.17