+ unsigned get_n_levels() const;
+ unsigned get_level_size(unsigned) const;
+
+public:
+ /** Translates indices into face constants. Valid indices are between 0
+ and 5, inclusive. */
+ static TextureCubeFace enumerate_faces(unsigned);
+
+ static unsigned get_face_index(TextureCubeFace);
+
+ /** Returns a vector pointing out of the face. */
+ static const Vector3 &get_face_direction(TextureCubeFace);
+
+ /** Returns a vector in the direction of the s axis of the face. */
+ static const Vector3 &get_s_direction(TextureCubeFace);
+
+ /** Returns a vector in the direction of the t axis of the face. */
+ static const Vector3 &get_t_direction(TextureCubeFace);
+
+ /** Returns a vector pointing to the center a texel. */
+ Vector3 get_texel_direction(TextureCubeFace, unsigned, unsigned);
+
+ virtual AsyncLoader *load(IO::Seekable &, const Resources * = 0) { return 0; }
+ virtual UInt64 get_data_size() const;
+ virtual void unload() { }