OpenPolygon
1.0.0
OpenPolygon is a Rendering Engine
Main Page
Namespaces
Classes
Files
File List
include
Container
shader.h
1
/*
2
Copyright (C) 2014 - 2016 Mutzii
3
4
This program is free software: you can redistribute it and/or modify
5
it under the terms of the GNU General Public License as published by
6
the Free Software Foundation, either version 3 of the License, or
7
(at your option) any later version.
8
9
This program is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
GNU General Public License for more details.
13
14
You should have received a copy of the GNU General Public License
15
along with this program. If not, see <http://www.gnu.org/licenses/>.
16
17
*/
18
#ifndef SHADER_H
19
#define SHADER_H
20
21
#include "index.h"
22
#include "Interface/IShader.h"
23
#include "shadermanager.h"
24
#include "texture.h"
25
26
namespace
Engine
27
{
28
32
class
Shader
:
public
IShader
33
{
34
public
:
35
Shader
();
36
~
Shader
();
37
38
void
UseProgram(
void
);
39
40
void
Unused(
void
);
41
42
void
LinkProgram(
void
);
43
44
void
AttachShader(uint shader);
45
46
void
BindUniform1f(
const
char
*location,
float
number);
47
48
void
BindUniform1i(
const
char
*location,
int
number);
49
50
void
BindMatrix(
const
char
*location, glm::mat4 matrix);
51
52
void
BindVec3f(
const
char
*location,
const
Vector3f
&vector);
53
54
void
BindVec3i(
const
char
*location,
const
Vector3i
&vector);
55
56
void
BindVec4f(
const
char
*location,
const
Vector4f
&vector);
57
58
void
BindVec4i(
const
char
*location,
const
Vector4i
&vector);
59
60
void
BindTexture(
Texture
*texture,
const
char
*location,
int
texture_unit);
61
62
void
BindAttributeLocation(
const
char
*location,
int
attribute_id);
63
64
void
BindFragData(
const
char
*location,
int
frag_position);
65
};
66
67
}
68
#endif // SHADER_H
Engine::Texture
The Texture class.
Definition:
texture.h:37
Engine
Definition:
element.h:23
Engine::IShader
The IShader - abstract / interface class.
Definition:
IShader.h:30
Vector4< float >
Engine::Shader
The Shader class.
Definition:
shader.h:32
Vector3< float >
Generated by
1.8.10