X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftexture3d.h;h=12bd4a4b8c223f640e3f4fadcda96d54dc449e74;hb=2be605933f62521bb22780256386a14b371c8b17;hp=b4260e88a0119930f3364c55d76d7399e88e8b76;hpb=a361efc05fcad11b2918f3cd7abdebe794b131d8;p=libs%2Fgl.git diff --git a/source/texture3d.h b/source/texture3d.h index b4260e88..12bd4a4b 100644 --- a/source/texture3d.h +++ b/source/texture3d.h @@ -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 +#include "datatype.h" #include "pixelformat.h" #include "texture.h" @@ -19,20 +13,23 @@ 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, GLenum, const void *); - void sub_image(int, int, int, sizei, sizei, sizei, PixelFormat, GLenum, 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 get_level_size(unsigned, unsigned &, unsigned &, unsigned &); }; } // namespace GL