some effc++ fixes
This commit is contained in:
20
shaders.hh
20
shaders.hh
@@ -34,8 +34,7 @@ public:
|
||||
Shader() : _shaderID(0) {
|
||||
}
|
||||
|
||||
Shader(std::string const& program, GLenum type) {
|
||||
_shaderID = glCreateShader(type);
|
||||
Shader(std::string const& program, GLenum type) : _shaderID(glCreateShader(type)) {
|
||||
const char* const arr[] = {program.c_str()};
|
||||
glShaderSource(_shaderID, 1, arr, NULL);
|
||||
glCompileShader(_shaderID);
|
||||
@@ -62,12 +61,11 @@ public:
|
||||
glDeleteShader(_shaderID);
|
||||
}
|
||||
|
||||
protected:
|
||||
unsigned getID() const {
|
||||
return _shaderID;
|
||||
}
|
||||
|
||||
friend class Program;
|
||||
|
||||
protected:
|
||||
|
||||
unsigned int _shaderID;
|
||||
};
|
||||
@@ -78,7 +76,7 @@ public:
|
||||
VertexShader(std::string const& program) : Shader(program, GL_VERTEX_SHADER) {
|
||||
}
|
||||
|
||||
virtual ~VertexShader() {
|
||||
~VertexShader() override {
|
||||
}
|
||||
};
|
||||
|
||||
@@ -102,9 +100,8 @@ public:
|
||||
|
||||
class Program {
|
||||
public:
|
||||
Program(VertexShader& vertex, FragmentShader& frag) : _geom(nullptr), _vertex(vertex), _frag(frag) {
|
||||
_progID = glCreateProgram();
|
||||
|
||||
Program(VertexShader& vertex, FragmentShader& frag)
|
||||
: _geom(nullptr), _vertex(vertex), _frag(frag), _progID(glCreateProgram()) {
|
||||
glAttachShader(_progID, _vertex.getID());
|
||||
glAttachShader(_progID, _frag.getID());
|
||||
|
||||
@@ -131,9 +128,8 @@ public:
|
||||
glDetachShader(_progID, _frag.getID());
|
||||
}
|
||||
|
||||
Program(GeometryShader& geom, VertexShader& vertex, FragmentShader& frag) : _geom(&geom), _vertex(vertex), _frag(frag) {
|
||||
_progID = glCreateProgram();
|
||||
|
||||
Program(GeometryShader& geom, VertexShader& vertex, FragmentShader& frag)
|
||||
: _geom(&geom), _vertex(vertex), _frag(frag), _progID(glCreateProgram()) {
|
||||
glAttachShader(_progID, _geom->getID());
|
||||
glAttachShader(_progID, _vertex.getID());
|
||||
glAttachShader(_progID, _frag.getID());
|
||||
|
||||
Reference in New Issue
Block a user