+ /**
+ * Possible orientations for texture coordinates.
+ */
+
+ typedef unsigned TileIndex;
+ static const TileIndex NO_TILE = -1;
+
+ typedef enum
+ {
+ NORMAL = 0, ///< Normal orientation.
+ FLIP = 1, ///< Flip over a horizontal axis.
+ REVERSE = 2, ///< Flip over a vertical axis.
+ FLIP_AND_REVERSE = 3 ///< Flip over both.
+ } Orientation;
+
+
+ static TextureP alloc(const std::string& name)
+ {
+ return TextureP(new Texture(name));
+ }
+
+ explicit Texture(const std::string& name);
+
+ void bind() const;
+ GLuint getObject() const;