00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef RE_OGLTextureCube_h
00020 #define RE_OGLTextureCube_h
00021
00022 #include "RE_OGLTextureBase2D.h"
00023
00024 class RE_OGLTextureCube : public RE_OGLTextureBase2D
00025 {
00026 public:
00027 RE_OGLTextureCube();
00028 virtual ~RE_OGLTextureCube();
00029
00030 virtual const char *className() const { return "RE_OGLTextureCube"; }
00031
00032 virtual bool hasTextureSupport(RE_Render *r);
00033 virtual bool isValid() const;
00034 virtual void free(RE_Render *r);
00035
00036 virtual RE_TextureDimension getTextureType() const
00037 { return RE_TEXTURE_CUBE; }
00038 virtual int getMaxTextureSize(RE_Render *r);
00039 virtual int getMaxTextureIndex(RE_Render *) { return 6; }
00040
00041 virtual void setTexture(RE_Render *r, const void *data,
00042 int level=0, int index = -1);
00043 virtual void getTexture(RE_Render *r, void *data,
00044 int level=0, int index = -1);
00045
00046 virtual void setSubTexture(RE_Render *r,
00047 const void *data, int level,
00048 int xoffset, int xsize,
00049 int yoffset=0, int ysize=1,
00050 int zoffset=0, int ignored=1);
00051 protected:
00052 virtual int getGLType() const;
00053 virtual int getGLTypeBinding() const;
00054
00055 private:
00056 int myGLType;
00057 int myCompleteFlags;
00058 };
00059
00060 #endif