3a850f1afc84a9ff07b6aaf97690f71952fccb5c
[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() = 0;
28         virtual void unbind() = 0;
29 };
30
31 #endif // TEXTURE_H_