diff --git a/src/Shader.cpp b/src/Shader.cpp index b8f0f8e77..8997a879e 100644 --- a/src/Shader.cpp +++ b/src/Shader.cpp @@ -98,11 +98,11 @@ GLuint Shader::compile() { err << "Shader:"; switch(_type) { - case Vertex: err << "vertex"; break; - case Geometry: err << "geometry"; break; - case Fragment: err << "fragment"; break; - case TesselationControl: err << "tesselation control"; break; - case TesselationEvaluation: err << "tesselation evaluation"; break; + case Type::Vertex: err << "vertex"; break; + case Type::Geometry: err << "geometry"; break; + case Type::Fragment: err << "fragment"; break; + case Type::TesselationControl: err << "tesselation control"; break; + case Type::TesselationEvaluation: err << "tesselation evaluation"; break; } /* Show error log and delete shader */ diff --git a/src/Shader.h b/src/Shader.h index aea8c1635..98b13842d 100644 --- a/src/Shader.h +++ b/src/Shader.h @@ -39,7 +39,7 @@ class MAGNUM_EXPORT Shader { public: /** @brief %Shader type */ - enum Type { + enum class Type: GLenum { Vertex = GL_VERTEX_SHADER, /**< Vertex shader */ /** @@ -121,7 +121,7 @@ class MAGNUM_EXPORT Shader { * @see fromData(), fromFile() */ inline Shader(Type type): _type(type), _state(Initialized), shader(0) { - shader = glCreateShader(_type); + shader = glCreateShader(static_cast(_type)); } /** diff --git a/src/Shaders/PhongShader.cpp b/src/Shaders/PhongShader.cpp index 4349732c6..1a203cf61 100644 --- a/src/Shaders/PhongShader.cpp +++ b/src/Shaders/PhongShader.cpp @@ -23,8 +23,8 @@ namespace Magnum { namespace Shaders { PhongShader::PhongShader() { Resource rs("shaders"); - attachShader(Shader::fromData(Shader::Vertex, rs.get("PhongShader.vert"))); - attachShader(Shader::fromData(Shader::Fragment, rs.get("PhongShader.frag"))); + attachShader(Shader::fromData(Shader::Type::Vertex, rs.get("PhongShader.vert"))); + attachShader(Shader::fromData(Shader::Type::Fragment, rs.get("PhongShader.frag"))); bindAttribute(Vertex::Location, "vertex"); bindAttribute(Normal::Location, "normal");