ManaPlus
src
render
shaders
shaderprogram.h
Go to the documentation of this file.
1
/*
2
* The ManaPlus Client
3
* Copyright (C) 2014-2019 The ManaPlus Developers
4
* Copyright (C) 2019-2021 Andrei Karas
5
*
6
* This file is part of The ManaPlus Client.
7
*
8
* This program is free software; you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation; either version 2 of the License, or
11
* any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public License
19
* along with this program. If not, see <http://www.gnu.org/licenses/>.
20
*/
21
22
#ifndef RENDER_SHADERS_SHADERPROGRAM_H
23
#define RENDER_SHADERS_SHADERPROGRAM_H
24
25
#ifdef USE_OPENGL
26
27
#include "
resources/resource.h
"
28
29
class
Shader
;
30
31
class
ShaderProgram
final
:
public
Resource
32
{
33
public
:
34
ShaderProgram
(
const
unsigned
int
id
,
35
Shader
*
const
vertex,
36
Shader
*
const
fragment);
37
38
~ShaderProgram
()
override
final
;
39
40
A_DELETE_COPY
(
ShaderProgram
)
41
42
unsigned
int
getProgramId
() const
noexcept2
43
{
return
mProgramId
; }
44
45
protected
:
46
unsigned
int
mProgramId
;
47
Shader
*
mVertex
;
48
Shader
*
mFragment
;
49
};
50
51
#endif
// USE_OPENGL
52
#endif
// RENDER_SHADERS_SHADERPROGRAM_H
Resource
Definition:
resource.h:35
ShaderProgram
Definition:
shaderprogram.h:32
ShaderProgram::mFragment
Shader * mFragment
Definition:
shaderprogram.h:48
ShaderProgram::mProgramId
unsigned int mProgramId
Definition:
shaderprogram.h:46
ShaderProgram::~ShaderProgram
~ShaderProgram()
Definition:
shaderprogram.cpp:45
ShaderProgram::ShaderProgram
ShaderProgram(const unsigned int id, Shader *const vertex, Shader *const fragment)
Definition:
shaderprogram.cpp:35
ShaderProgram::mVertex
Shader * mVertex
Definition:
shaderprogram.h:47
ShaderProgram::getProgramId
unsigned int getProgramId() const
Definition:
shaderprogram.h:42
Shader
Definition:
shader.h:30
noexcept2
#define noexcept2
Definition:
localconsts.h:50
final
#define final
Definition:
localconsts.h:46
A_DELETE_COPY
#define A_DELETE_COPY(func)
Definition:
localconsts.h:53
resource.h
Generated on Wed Mar 17 2021 19:19:09 for ManaPlus by
1.9.1