3dphotoshoot

view src/shader.h @ 20:c14613d27a3a

writing a C++ shader class for this
author John Tsiombikas <nuclear@member.fsf.org>
date Thu, 11 Jun 2015 02:53:43 +0300
parents
children 4ca4e3c5a754
line source
1 #ifndef SHADER_H_
2 #define SHADER_H_
4 #include <vector>
6 class SdrProg {
7 private:
8 std::vector<unsigned int> priv_sdr;
9 unsigned int prog;
10 mutable bool valid;
12 public:
13 SdrProg();
14 ~SdrProg();
16 void create();
17 void destroy();
19 bool attach_shader(unsigned int sdr);
21 bool create(unsigned int vsdr, unsigned int psdr);
22 bool create(const char *vsrc, const char *psrc);
23 bool load(const char *vfname, const char *pfname);
25 bool link() const;
27 int get_uniform(const char *name) const;
28 int get_attrib(const char *name) const;
29 bool bind_attrib(const char *name, int loc) const;
31 bool bind() const;
32 };
34 unsigned int get_shader(const char *name, unsigned int type);
36 #endif /* SHADER_H_ */