14#ifndef OSG_TEXTURE2DARRAY
15#define OSG_TEXTURE2DARRAY 1
64 virtual unsigned int getNumImages()
const {
return _images.size(); }
67 virtual bool isDirty(
unsigned int contextID)
const
69 for(
unsigned int i=0; i<_images.size(); ++i)
71 if (_images[i].valid() && _images[i]->getModifiedCount()!=_modifiedCount[i][contextID])
return true;
77 inline unsigned int&
getModifiedCount(
unsigned int layer,
unsigned int contextID)
const
80 return _modifiedCount[layer][contextID];
147 typedef std::vector< ref_ptr<Image> >
Images;
#define GL_TEXTURE_2D_ARRAY
Definition GLDefines:634
Definition StateAttribute:77
Definition Texture2DArray:98
virtual void load(const Texture2DArray &texture, State &state) const =0
virtual void subload(const Texture2DArray &texture, State &state) const =0
Definition Texture2DArray:29
const SubloadCallback * getSubloadCallback() const
Definition Texture2DArray:109
virtual bool getModeUsage(StateAttribute::ModeUsage &) const
Definition Texture2DArray:46
virtual int compare(const StateAttribute &rhs) const
void setTextureWidth(int width)
Definition Texture2DArray:89
virtual int getTextureDepth() const
Definition Texture2DArray:95
virtual bool isDirty(unsigned int contextID) const
Definition Texture2DArray:67
virtual ~Texture2DArray()
void setTextureSize(int width, int height, int depth)
void setImage(unsigned int layer, const ref_ptr< T > &image)
Definition Texture2DArray:51
virtual void apply(State &state) const
virtual void setImage(unsigned int layer, Image *image)
void setNumMipmapLevels(unsigned int num) const
Definition Texture2DArray:116
virtual Image * getImage(unsigned int layer)
Texture2DArray(const Texture2DArray &cm, const CopyOp ©op=CopyOp::SHALLOW_COPY)
virtual void computeInternalFormat() const
std::vector< ImageModifiedCount > _modifiedCount
Definition Texture2DArray:159
void copyTexSubImage2DArray(State &state, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height)
virtual unsigned int getNumImages() const
Definition Texture2DArray:64
virtual GLenum getTextureTarget() const
Definition Texture2DArray:43
void setSubloadCallback(SubloadCallback *cb)
Definition Texture2DArray:105
std::vector< ref_ptr< Image > > Images
Definition Texture2DArray:147
void applyTexImage2DArray_subload(State &state, Image *image, GLsizei layer, GLsizei inwidth, GLsizei inheight, GLsizei indepth, GLint inInternalFormat, GLsizei &numMipmapLevels) const
unsigned int & getModifiedCount(unsigned int layer, unsigned int contextID) const
Definition Texture2DArray:77
virtual const Image * getImage(unsigned int layer) const
void allocateMipmap(State &state) const
virtual int getTextureHeight() const
Definition Texture2DArray:94
ref_ptr< SubloadCallback > _subloadCallback
Definition Texture2DArray:156
Images _images
Definition Texture2DArray:148
GLsizei _textureDepth
Definition Texture2DArray:151
SubloadCallback * getSubloadCallback()
Definition Texture2DArray:107
virtual int getTextureWidth() const
Definition Texture2DArray:93
unsigned int getNumMipmapLevels() const
Definition Texture2DArray:119
META_StateAttribute(osg, Texture2DArray, TEXTURE)
void setTextureDepth(int depth)
GLsizei computeTextureDepth() const
GLsizei _numMipmapLevels
Definition Texture2DArray:154
void setTextureHeight(int height)
Definition Texture2DArray:90
buffered_value< unsigned int > ImageModifiedCount
Definition Texture2DArray:158
Definition buffered_value:27
T * get() const
Definition ref_ptr:117
author: Julien Valentin 2017 (mp3butcher@hotmail.com)
Definition AlphaFunc:19
#define OSG_EXPORT
Definition osg/Export:39
Definition StateAttribute:308