Image class for encapsulating the storage texture image data
Inheritance:
Public Methods
-
Image()
-
Image(const Image& image, const CopyOp& copyop=CopyOp::SHALLOW_COPY)
- Copy constructor using CopyOp to manage deep vs shallow copy
-
virtual Object* cloneType() const
-
virtual Object* clone(const CopyOp& copyop) const
-
virtual bool isSameKindAs(const Object* obj) const
-
virtual const char* libraryName() const
-
virtual const char* className() const
-
virtual int compare(const Image& rhs) const
- return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs
-
void setFileName(const std::string& fileName)
-
inline const std::string& getFileName() const
-
void setAllocationMode(AllocationMode mode)
- Set the method used for deleting data once it goes out of scope
-
AllocationMode getAllocationMode() const
- Get the method used for deleting data once it goes out of scope
-
void allocateImage(int s, int t, int r, GLenum pixelFormat, GLenum type, int packing=1)
-
void setImage(int s, int t, int r, GLint internalTextureformat, GLenum pixelFormat, GLenum type, unsigned char* data, AllocationMode mode, int packing=1)
- set the image data and pixelFormat.
-
void readPixels(int x, int y, int width, int height, GLenum pixelFormat, GLenum type)
- readPixels from screen at specified position and size, using glReadPixels.
-
void readImageFromCurrentTexture(unsigned int contextID=0)
- read the contents of the current bound texture, handling compressed pixelFormats if present.
-
void scaleImage(int s, int t, int r)
- Scale image to specified size.
-
void copySubImage(int s_offset, int t_offset, int r_offset, osg::Image* source)
- Copy a source Image into a subpart of this Image at specified position.
-
inline int s() const
- Width of image
-
inline int t() const
- Height of image
-
inline int r() const
- Depth of image
-
void setInternalTextureFormat(GLint internalFormat)
-
inline GLint getInternalTextureFormat() const
-
void setPixelFormat(GLenum pixelFormat)
-
inline GLenum getPixelFormat() const
-
inline GLenum getDataType() const
-
inline unsigned int getPacking() const
-
inline unsigned int getPixelSizeInBits() const
- return the numbers of bits required for each pixel
-
inline unsigned int getRowSizeInBytes() const
- return the numbers of bytes each row of pixels occupies once it has been packed
-
inline unsigned int getImageSizeInBytes() const
- return the numbers of bytes each image (_s*_t) of pixels occupies
-
inline unsigned int getTotalSizeInBytes() const
- return the numbers of bytes the whole row/image/volume of pixels occupies
-
unsigned int getTotalSizeInBytesIncludingMipmaps() const
- return the numbers of bytes the whole row/image/volume of pixels occupies, including all mip maps if included
-
inline unsigned char* data()
- raw image data
-
inline const unsigned char* data() const
- raw const image data
-
inline unsigned char* data(int column, int row=0, int image=0) const
-
void flipHorizontal(int image=0)
- Flip the image horizontally
-
void flipVertical(int image=0)
- Flip the image vertically
-
void ensureValidSizeForTexturing(GLint maxTextureSize)
- Ensure image dimensions are a power of two.
-
inline void dirty()
- Dirty the image, which increments the modified flag, to force osg::Texture to reload the image
-
inline void setModifiedTag(unsigned int value)
- Set the modified tag value, only used by osg::Texture when using texture subloading.
-
inline unsigned int getModifiedTag() const
- Get modified tag value, only used by osg::Texture when using texture subloading.
-
static bool isPackedType(GLenum type)
-
static unsigned int computeNumComponents(GLenum pixelFormat)
-
static unsigned int computePixelSizeInBits(GLenum pixelFormat, GLenum type)
-
static unsigned int computeRowWidthInBytes(int width, GLenum pixelFormat, GLenum type, int packing)
-
static int computeNearestPowerOfTwo(int s, float bias=0.5f)
-
inline bool isMipmap() const
-
unsigned int getNumMipmapLevels() const
-
inline void setMipmapData(const MipmapDataType& mipmapDataVector)
-
inline unsigned char* getMipmapData(unsigned int mipmapNumber) const
-
void computeMipMaps()
- converts a single image into mip mapped version image
-
bool isImageTranslucent() const
- return true of this image is translucent - ie.
Public Members
-
enum AllocationMode
-
typedef std::vector< unsigned int > MipmapDataType
Protected Fields
-
std::string _fileName
-
int _s
-
int _t
-
int _r
-
GLint _internalTextureFormat
-
GLenum _pixelFormat
-
GLenum _dataType
-
unsigned int _packing
-
AllocationMode _allocationMode
-
unsigned char* _data
-
unsigned int _modifiedTag
-
MipmapDataType _mipmapData
Protected Methods
-
virtual ~Image()
-
Image& operator = (const Image&)
-
void deallocateData()
-
void setData(unsigned char* data, AllocationMode allocationMode)
Inherited from Object:
Public Methods
-
inline void setDataVariance(DataVariance dv)
-
inline DataVariance getDataVariance() const
-
inline void setUserData(Referenced* obj)
-
inline Referenced* getUserData()
-
inline const Referenced* getUserData() const
Public Members
-
enum DataVariance
Protected Fields
-
DataVariance _dataVariance
-
ref_ptr<Referenced> _userData
Public Methods
-
static void setDeleteHandler(DeleteHandler* handler)
-
static DeleteHandler* getDeleteHandler()
-
inline void ref() const
-
inline void unref_nodelete() const
-
inline int referenceCount() const
-
inline void unref() const
Protected Fields
-
mutable int _refCount
Documentation
Image class for encapsulating the storage texture image data
- Image()
- Image(const Image& image, const CopyOp& copyop=CopyOp::SHALLOW_COPY)
- Copy constructor using CopyOp to manage deep vs shallow copy
- virtual Object* cloneType() const
- virtual Object* clone(const CopyOp& copyop) const
- virtual bool isSameKindAs(const Object* obj) const
- virtual const char* libraryName() const
- virtual const char* className() const
- virtual int compare(const Image& rhs) const
- return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs
- void setFileName(const std::string& fileName)
- inline const std::string& getFileName() const
- enum AllocationMode
- NO_DELETE
- USE_NEW_DELETE
- USE_MALLOC_FREE
- void setAllocationMode(AllocationMode mode)
- Set the method used for deleting data once it goes out of scope
- AllocationMode getAllocationMode() const
- Get the method used for deleting data once it goes out of scope
- void allocateImage(int s, int t, int r, GLenum pixelFormat, GLenum type, int packing=1)
- void setImage(int s, int t, int r, GLint internalTextureformat, GLenum pixelFormat, GLenum type, unsigned char* data, AllocationMode mode, int packing=1)
- set the image data and pixelFormat.
note, when the packing value is negative (the default is -1) this method assumes
a _packing width of 1 if the width is not a multiple of 4,
otherwise automatically sets to _packing to 4. If a positive
value of packing is supplied than _packing is simply set to that value.
- void readPixels(int x, int y, int width, int height, GLenum pixelFormat, GLenum type)
- readPixels from screen at specified position and size, using glReadPixels.
Create memory for storage if required, reuse existing pixel coords if possible.
- void readImageFromCurrentTexture(unsigned int contextID=0)
- read the contents of the current bound texture, handling compressed pixelFormats if present.
Create memory for storage if required, reuse existing pixel coords if possible.
- void scaleImage(int s, int t, int r)
- Scale image to specified size.
- void copySubImage(int s_offset, int t_offset, int r_offset, osg::Image* source)
- Copy a source Image into a subpart of this Image at specified position.
Typically used to copy to an already allocated image, such as creating
a 3D image from a stack 2D images.
If the this Image is empty then image data is created to
accomodate the imaging image in its offset position.
If source is NULL then no operation happens, this Image is left unchanged.
- inline int s() const
- Width of image
- inline int t() const
- Height of image
- inline int r() const
- Depth of image
- void setInternalTextureFormat(GLint internalFormat)
- inline GLint getInternalTextureFormat() const
- void setPixelFormat(GLenum pixelFormat)
- inline GLenum getPixelFormat() const
- inline GLenum getDataType() const
- inline unsigned int getPacking() const
- inline unsigned int getPixelSizeInBits() const
- return the numbers of bits required for each pixel
- inline unsigned int getRowSizeInBytes() const
- return the numbers of bytes each row of pixels occupies once it has been packed
- inline unsigned int getImageSizeInBytes() const
- return the numbers of bytes each image (_s*_t) of pixels occupies
- inline unsigned int getTotalSizeInBytes() const
- return the numbers of bytes the whole row/image/volume of pixels occupies
- unsigned int getTotalSizeInBytesIncludingMipmaps() const
- return the numbers of bytes the whole row/image/volume of pixels occupies, including all mip maps if included
- inline unsigned char* data()
- raw image data
- inline const unsigned char* data() const
- raw const image data
- inline unsigned char* data(int column, int row=0, int image=0) const
- void flipHorizontal(int image=0)
- Flip the image horizontally
- void flipVertical(int image=0)
- Flip the image vertically
- void ensureValidSizeForTexturing(GLint maxTextureSize)
- Ensure image dimensions are a power of two.
Mip Mapped texture require the image dimensions to be
power of two and are within the maxiumum texture size for
the host machine.
- inline void dirty()
- Dirty the image, which increments the modified flag, to force osg::Texture to reload the image
- inline void setModifiedTag(unsigned int value)
- Set the modified tag value, only used by osg::Texture when using texture subloading.
- inline unsigned int getModifiedTag() const
- Get modified tag value, only used by osg::Texture when using texture subloading.
- static bool isPackedType(GLenum type)
- static unsigned int computeNumComponents(GLenum pixelFormat)
- static unsigned int computePixelSizeInBits(GLenum pixelFormat, GLenum type)
- static unsigned int computeRowWidthInBytes(int width, GLenum pixelFormat, GLenum type, int packing)
- static int computeNearestPowerOfTwo(int s, float bias=0.5f)
- typedef std::vector< unsigned int > MipmapDataType
- inline bool isMipmap() const
- unsigned int getNumMipmapLevels() const
- inline void setMipmapData(const MipmapDataType& mipmapDataVector)
- inline unsigned char* getMipmapData(unsigned int mipmapNumber) const
- void computeMipMaps()
- converts a single image into mip mapped version image
- bool isImageTranslucent() const
- return true of this image is translucent - ie. it has alpha values that are less 1.0 (when normalized).
- virtual ~Image()
- Image& operator = (const Image&)
- std::string _fileName
- int _s
- int _t
- int _r
- GLint _internalTextureFormat
- GLenum _pixelFormat
- GLenum _dataType
- unsigned int _packing
- AllocationMode _allocationMode
- unsigned char* _data
- void deallocateData()
- void setData(unsigned char* data, AllocationMode allocationMode)
- unsigned int _modifiedTag
- MipmapDataType _mipmapData
- This class has no child classes.
Alphabetic index HTML hierarchy of classes or Java
This page was generated with the help of DOC++.