14 #ifndef OSG_TEXTURE2DARRAY
15 #define OSG_TEXTURE2DARRAY 1
17 #include <osg/Texture>
49 virtual void setImage(
unsigned int layer,
Image* image);
52 virtual Image* getImage(
unsigned int layer);
55 virtual const Image* getImage(
unsigned int layer)
const;
62 virtual unsigned int getNumImages()
const {
return _images.size(); }
65 inline unsigned int&
getModifiedCount(
unsigned int layer,
unsigned int contextID)
const
68 return _modifiedCount[layer][contextID];
79 void setTextureDepth(
int depth);
117 void copyTexSubImage2DArray(
State& state,
int xoffset,
int yoffset,
int zoffset,
int x,
int y,
int width,
int height );
121 virtual void apply(
State& state)
const;
127 bool imagesValid()
const;
129 virtual void computeInternalFormat()
const;
130 GLsizei computeTextureDepth()
const;
131 void allocateMipmap(
State& state)
const;
133 void applyTexImage2DArray_subload(
State& state,
Image* image, GLsizei layer, GLsizei inwidth, GLsizei inheight, GLsizei indepth, GLint inInternalFormat, GLsizei& numMipmapLevels)
const;
135 typedef std::vector< ref_ptr<Image> >
Images;
SubloadCallback * getSubloadCallback()
void setTextureHeight(int height)
virtual GLenum getTextureTarget() const
virtual bool getModeUsage(StateAttribute::ModeUsage &) const
virtual unsigned int getNumImages() const
GLint GLenum GLsizei GLsizei GLsizei depth
#define GL_TEXTURE_2D_ARRAY_EXT
buffered_value< unsigned int > ImageModifiedCount
virtual int getTextureWidth() const
virtual int getTextureDepth() const
GLint GLenum GLsizei width
std::vector< ref_ptr< Image > > Images
void setSubloadCallback(SubloadCallback *cb)
unsigned int getNumMipmapLevels() const
#define META_StateAttribute(library, name, type)
GLint GLenum GLsizei GLsizei height
virtual int getTextureHeight() const
const SubloadCallback * getSubloadCallback() const
std::vector< ImageModifiedCount > _modifiedCount
unsigned int & getModifiedCount(unsigned int layer, unsigned int contextID) const
void setNumMipmapLevels(unsigned int num) const
void setTextureWidth(int width)
ref_ptr< SubloadCallback > _subloadCallback