X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Ftexturecube.h;h=0882a5e31004c3cef3e129b65ff24a2671e88fc0;hb=HEAD;hp=b15c1cff2af5fcff564d6f70e754b0282d4ff4fe;hpb=e003d7a1497dad3b13e4e88e681f8fa2afc40c83;p=libs%2Fgl.git diff --git a/source/texturecube.h b/source/texturecube.h deleted file mode 100644 index b15c1cff..00000000 --- a/source/texturecube.h +++ /dev/null @@ -1,71 +0,0 @@ -#ifndef MSP_GL_TEXTURECUBE_H_ -#define MSP_GL_TEXTURECUBE_H_ - -#include "datatype.h" -#include "pixelformat.h" -#include "texture.h" - -namespace Msp { -namespace GL { - -enum TextureCubeFace -{ - POSITIVE_X = GL_TEXTURE_CUBE_MAP_POSITIVE_X, - NEGATIVE_X = GL_TEXTURE_CUBE_MAP_NEGATIVE_X, - POSITIVE_Y = GL_TEXTURE_CUBE_MAP_POSITIVE_Y, - NEGATIVE_Y = GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, - POSITIVE_Z = GL_TEXTURE_CUBE_MAP_POSITIVE_Z, - NEGATIVE_Z = GL_TEXTURE_CUBE_MAP_NEGATIVE_Z -}; - -/** -Cube map texture, consisting of six square faces. All of the faces must be of -the same size. A cube map texture is addressed by three-dimensional texture -coordinates, with a principal range of [-1, 1]. The face is first selected -according to the largest coordinate, and the remaining two coordinates are used -to sample the face image. - -All faces of a cube map texture must be allocated for it to be usable. - -Requires OpenGL version 1.3. -*/ -class TextureCube: public Texture -{ -private: - PixelFormat ifmt; - unsigned size; - unsigned allocated; - -public: - TextureCube(); - - /** Defines storage structure for the texture. Must be called before an - image can be uploaded. Once storage is defined, it can't be changed. */ - void storage(PixelFormat fmt, unsigned size); - - /** Allocates storage for the cube faces. The contents are initially - undefined. If storage has already been allocated, does nothing. */ - void allocate(unsigned level); - - /** Uploads image data to a face. Storage must be defined beforehand. The - image data must have dimensions and format compatible with the defined - storage. */ - void image(TextureCubeFace face, unsigned level, - PixelFormat fmt, DataType type, const void *data); - - /** Updates a rectangular region of a face. Storage must be defined and - allocated beforehand. The update region must be fully inside the texture. - The data format must be compatible with the defined storage. */ - void sub_image(TextureCubeFace face, unsigned level, - int x, int y, unsigned w, unsigned h, - PixelFormat fmt, DataType type, const void *data); - - unsigned get_size() const { return size; } -private: - unsigned get_level_size(unsigned); -}; - -} // namespace GL -} // namespace Msp - -#endif