1 #ifndef TEXTURESTATE_H_
2 #define TEXTURESTATE_H_
7 #include "autoconstptr.h"
14 GLenum internal_format;
18 void set_1d(GLenum, unsigned);
19 void set_2d(GLenum, unsigned, unsigned);
20 void set_3d(GLenum, unsigned, unsigned, unsigned);
21 std::string describe() const;
24 extern GLenum texture_cube_faces[6];
30 std::vector<TexImageState> images;
42 TexImageState &get_image(unsigned);
43 void set_image_1d(unsigned, GLenum, unsigned);
44 void set_image_2d(unsigned, GLenum, unsigned, unsigned);
45 void set_face_image_2d(GLenum, unsigned, GLenum, unsigned, unsigned);
46 void set_image_3d(unsigned, GLenum, unsigned, unsigned, unsigned);
47 void create_mipmaps(unsigned = 0);
48 void set_parameter(GLenum, const int *);
49 std::string describe() const;
57 AutoConstPtr<TextureState> current;
60 std::string describe() const;
68 Binding *get_binding(GLenum);
69 const Binding *get_binding(GLenum) const;
70 void set_current_texture(GLenum, TextureState *);
71 TextureState *get_current_texture(GLenum);
72 const TextureState *get_current_texture(GLenum) const;
73 bool is_enabled(GLenum) const;
74 std::string describe_binding(GLenum) const;