MOS
shader.hpp
1 #pragma once
2 
3 #include <glad/glad.h>
4 #include <string>
5 
6 namespace mos::gl {
7 
8 class Shader {
9  friend class Renderer;
10  friend class Bloom_program;
11  friend class Cloud_program;
12  friend class Box_program;
13  friend class Compositing_program;
14  friend class Depth_program;
15  friend class Blur_program;
16  friend class Standard_program;
17 private:
18  Shader(const std::string &source, GLuint type, const std::string &name);
19  Shader(const std::string &name, GLuint type);
20 public:
21  ~Shader();
22  const GLuint id;
23  Shader(const Shader &shader) = delete;
24  Shader(Shader &&shader) = delete;
25  Shader &operator=(const Shader &shader) = delete;
26  Shader &operator=(Shader &&shader) = delete;
27 };
28 }
Definition: shader.hpp:8
Definition: compositing_program.hpp:7
Definition: blur_program.hpp:7
Definition: depth_program.hpp:7
Definition: bloom_program.hpp:7
Definition: array_buffers.hpp:5
Uniforms for the standard shader.
Definition: standard_program.hpp:10
Uniforms for the particle shader program.
Definition: cloud_program.hpp:10
Render geometry shapes with OpenGL.
Definition: renderer.hpp:40