a1b52d8ede7d1deb879d4f59005085d94bd9efd8
[demo] / src / texture.h
1 #ifndef TEXTURE_H_
2 #define TEXTURE_H_
3
4 #include <string>
5 #include <vector>
6
7 #include "image.h"
8
9 class Texture {
10 private:
11         virtual void update() = 0;
12
13 protected:
14         std::vector<Image> images;
15
16 public:
17         std::string name;
18
19         Texture();
20         virtual ~Texture();
21
22         virtual bool load(const char *fname);
23         virtual bool load_cubemap(const char *fname);
24
25         virtual bool is_cubemap() const;
26
27         virtual void bind(int texture_unit = 0) = 0;
28         virtual void unbind() = 0;
29 };
30
31 #endif // TEXTURE_H_