]> git.tdb.fi Git - libs/gl.git/blobdiff - source/texture3d.h
Drop Id tags and copyright notices from files
[libs/gl.git] / source / texture3d.h
index ec3b57ba5f594942ab3ffa3f3cab5555a45f7e51..a0e96f4247aa7a90507aa39f9ebb86f94deb2f40 100644 (file)
@@ -1,14 +1,8 @@
-/* $Id$
-
-This file is part of libmspgl
-Copyright © 2007  Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
 #ifndef MSP_GL_TEXTURE3D_H_
 #define MSP_GL_TEXTURE3D_H_
 
 #include <string>
+#include "datatype.h"
 #include "pixelformat.h"
 #include "texture.h"
 
@@ -19,20 +13,24 @@ class Texture3D: public Texture
 {
 private:
        PixelFormat ifmt;
-       sizei width;
-       sizei height;
-       sizei depth;
-       int border;
+       unsigned width;
+       unsigned height;
+       unsigned depth;
+       unsigned allocated;
 
 public:
        Texture3D();
-       void storage(PixelFormat, sizei, sizei, sizei, int);
-       void image(int, PixelFormat, DataType, const void *);
-       void sub_image(int, int, int, sizei, sizei, sizei, PixelFormat, DataType, const void *);
-       void load_image(const std::string &fn, int dp=-1);
-       sizei get_width() const { return width; }
-       sizei get_height() const { return height; }
-       sizei get_depth() const { return depth; }
+       void storage(PixelFormat, unsigned, unsigned, unsigned);
+       void allocate(unsigned);
+       void image(unsigned, PixelFormat, DataType, const void *);
+       void sub_image(unsigned, int, int, int, unsigned, unsigned, unsigned, PixelFormat, DataType, const void *);
+       void load_image(const std::string &fn, int dp = -1);
+       unsigned get_width() const { return width; }
+       unsigned get_height() const { return height; }
+       unsigned get_depth() const { return depth; }
+private:
+       void require_storage();
+       void get_level_size(unsigned, unsigned &, unsigned &, unsigned &);
 };
 
 } // namespace GL