1 #ifndef TACOS_GRAPHICS_SHADER_HPP_
2 #define TACOS_GRAPHICS_SHADER_HPP_
15 static Shader Vertex(const GLchar *source);
16 static Shader Fragment(const GLchar *source);
20 Shader(Shader &&) noexcept;
21 Shader &operator =(Shader &&) noexcept;
23 Shader(const Shader &) = delete;
24 Shader &operator =(const Shader &) = delete;
27 explicit Shader(GLenum type, const GLchar *source);
41 Program(const Program &) = delete;
42 Program &operator =(const Program &) = delete;
44 void Attach(const Shader &) noexcept;
49 GLint AttributeLocation(const GLchar *name) const noexcept;
50 GLint UniformLocation(const GLchar *name) const noexcept;
52 void Uniform(GLint, GLint) noexcept;
53 void Uniform(GLint, float) noexcept;
54 void Uniform(GLint, const glm::vec3 &) noexcept;
55 void Uniform(GLint, const glm::vec4 &) noexcept;
56 void Uniform(GLint, const glm::mat4 &) noexcept;