openscenegraph
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
osg::Image Class Reference

#include <Image>

Inheritance diagram for osg::Image:
osg::BufferData osg::Object osg::Referenced osg::ImageStream osgText::Glyph osgWidget::BrowserImage osgWidget::PdfImage osgWidget::VncImage osg::ImageSequence

Classes

class  DataIterator
 
class  DimensionsChangedCallback
 
struct  UpdateCallback
 

Public Types

enum  WriteHint { NO_PREFERENCE , STORE_INLINE , EXTERNAL_FILE }
 
enum  AllocationMode { NO_DELETE , USE_NEW_DELETE , USE_MALLOC_FREE }
 
enum  Origin { BOTTOM_LEFT , TOP_LEFT }
 
typedef std::vector< unsigned int > MipmapDataType
 
typedef std::vector< osg::ref_ptr< DimensionsChangedCallback > > DimensionsChangedCallbackVector
 
- Public Types inherited from osg::Object
enum  DataVariance { DYNAMIC , STATIC , UNSPECIFIED }
 

Public Member Functions

 Image ()
 
 Image (const Image &image, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 
virtual ObjectcloneType () const
 
virtual Objectclone (const CopyOp &copyop) const
 
virtual bool isSameKindAs (const Object *obj) const
 
virtual const char * libraryName () const
 
virtual const char * className () const
 
virtual osg::ImageasImage ()
 
virtual const osg::ImageasImage () const
 
virtual const GLvoid * getDataPointer () const
 
virtual unsigned int getTotalDataSize () const
 
virtual int compare (const Image &rhs) const
 
void setFileName (const std::string &fileName)
 
const std::string & getFileName () const
 
void setWriteHint (WriteHint writeHint)
 
WriteHint getWriteHint () const
 
void setAllocationMode (AllocationMode mode)
 
AllocationMode getAllocationMode () const
 
virtual void allocateImage (int s, int t, int r, GLenum pixelFormat, GLenum type, int packing=1)
 
virtual void setImage (int s, int t, int r, GLint internalTextureformat, GLenum pixelFormat, GLenum type, unsigned char *data, AllocationMode mode, int packing=1, int rowLength=0)
 
virtual void readPixels (int x, int y, int width, int height, GLenum pixelFormat, GLenum type, int packing=1)
 
virtual void readImageFromCurrentTexture (unsigned int contextID, bool copyMipMapsIfAvailable, GLenum type=GL_UNSIGNED_BYTE, unsigned int face=0)
 
void swap (osg::Image &rhs)
 
void scaleImage (int s, int t, int r)
 
virtual void scaleImage (int s, int t, int r, GLenum newDataType)
 
virtual void copySubImage (int s_offset, int t_offset, int r_offset, const osg::Image *source)
 
void setOrigin (Origin origin)
 
Origin getOrigin () const
 
int s () const
 
int t () const
 
int r () const
 
void setRowLength (int length)
 
int getRowLength () const
 
void setInternalTextureFormat (GLint internalFormat)
 
GLint getInternalTextureFormat () const
 
void setPixelFormat (GLenum pixelFormat)
 
GLenum getPixelFormat () const
 
void setDataType (GLenum dataType)
 
GLenum getDataType () const
 
void setPacking (unsigned int packing)
 
unsigned int getPacking () const
 
bool isCompressed () const
 
void setPixelAspectRatio (float pixelAspectRatio)
 
float getPixelAspectRatio () const
 
unsigned int getPixelSizeInBits () const
 
unsigned int getRowSizeInBytes () const
 
unsigned int getRowStepInBytes () const
 
unsigned int getImageSizeInBytes () const
 
unsigned int getImageStepInBytes () const
 
unsigned int getTotalSizeInBytes () const
 
unsigned int getTotalSizeInBytesIncludingMipmaps () const
 
bool valid () const
 
unsigned char * data ()
 
const unsigned char * data () const
 
unsigned char * data (unsigned int column, unsigned int row=0, unsigned int image=0)
 
const unsigned char * data (unsigned int column, unsigned int row=0, unsigned int image=0) const
 
bool isDataContiguous () const
 
Vec4 getColor (unsigned int s, unsigned t=0, unsigned r=0) const
 
Vec4 getColor (const Vec2 &texcoord) const
 
Vec4 getColor (const Vec3 &texcoord) const
 
void setColor (const osg::Vec4 &color, unsigned int s, unsigned int t=0, unsigned int r=0)
 
void setColor (const osg::Vec4 &color, const osg::Vec2 &texcoord)
 
void setColor (const osg::Vec4 &color, const osg::Vec3 &texcoord)
 
void flipHorizontal ()
 
void flipVertical ()
 
void flipDepth ()
 
void ensureValidSizeForTexturing (GLint maxTextureSize)
 
bool isMipmap () const
 
unsigned int getNumMipmapLevels () const
 
void setMipmapLevels (const MipmapDataType &mipmapDataVector)
 
const MipmapDataTypegetMipmapLevels () const
 
unsigned int getMipmapOffset (unsigned int mipmapLevel) const
 
unsigned char * getMipmapData (unsigned int mipmapLevel)
 
const unsigned char * getMipmapData (unsigned int mipmapLevel) const
 
bool supportsTextureSubloading () const
 
virtual bool isImageTranslucent () const
 
void setPixelBufferObject (PixelBufferObject *buffer)
 
PixelBufferObjectgetPixelBufferObject ()
 
const PixelBufferObjectgetPixelBufferObject () const
 
virtual bool requiresUpdateCall () const
 
virtual void update (NodeVisitor *)
 
virtual bool sendFocusHint (bool)
 
virtual bool sendPointerEvent (int, int, int)
 
virtual bool sendKeyEvent (int, bool)
 
virtual void setFrameLastRendered (const osg::FrameStamp *)
 
void addDimensionsChangedCallback (DimensionsChangedCallback *cb)
 
void removeDimensionsChangedCallback (DimensionsChangedCallback *cb)
 
- Public Member Functions inherited from osg::BufferData
 BufferData ()
 
 BufferData (const BufferData &bd, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 
virtual osg::ArrayasArray ()
 
virtual const osg::ArrayasArray () const
 
virtual osg::PrimitiveSetasPrimitiveSet ()
 
virtual const osg::PrimitiveSetasPrimitiveSet () const
 
void setBufferObject (BufferObject *bufferObject)
 
BufferObjectgetBufferObject ()
 
const BufferObjectgetBufferObject () const
 
void setBufferIndex (unsigned int index)
 
unsigned int getBufferIndex () const
 
GLBufferObjectgetGLBufferObject (unsigned int contextID) const
 
GLBufferObjectgetOrCreateGLBufferObject (unsigned int contextID) const
 
void setModifiedCallback (ModifiedCallback *md)
 
ModifiedCallbackgetModifiedCallback ()
 
const ModifiedCallbackgetModifiedCallback () const
 
void dirty ()
 
void setModifiedCount (unsigned int value)
 
unsigned int getModifiedCount () const
 
virtual void resizeGLObjectBuffers (unsigned int maxSize)
 
void releaseGLObjects (State *state=0) const
 
unsigned int getNumClients () const
 
void addClient (osg::Object *)
 
void removeClient (osg::Object *)
 
- Public Member Functions inherited from osg::Object
 Object ()
 
 Object (bool threadSafeRefUnref)
 
 Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 
std::string getCompoundClassName () const
 
virtual NodeasNode ()
 
virtual const NodeasNode () const
 
virtual NodeVisitorasNodeVisitor ()
 
virtual const NodeVisitorasNodeVisitor () const
 
virtual StateSetasStateSet ()
 
virtual const StateSetasStateSet () const
 
virtual StateAttributeasStateAttribute ()
 
virtual const StateAttributeasStateAttribute () const
 
virtual UniformasUniform ()
 
virtual const UniformasUniform () const
 
virtual CameraasCamera ()
 
virtual const CameraasCamera () const
 
virtual DrawableasDrawable ()
 
virtual const DrawableasDrawable () const
 
virtual CallbackasCallback ()
 
virtual const CallbackasCallback () const
 
virtual CallbackObjectasCallbackObject ()
 
virtual const CallbackObjectasCallbackObject () const
 
virtual UserDataContainerasUserDataContainer ()
 
virtual const UserDataContainerasUserDataContainer () const
 
virtual ValueObjectasValueObject ()
 
virtual const ValueObjectasValueObject () const
 
virtual void setThreadSafeRefUnref (bool threadSafe)
 
virtual void setName (const std::string &name)
 
void setName (const char *name)
 
const std::string & getName () const
 
void setDataVariance (DataVariance dv)
 
DataVariance getDataVariance () const
 
virtual void computeDataVariance ()
 
void setUserDataContainer (osg::UserDataContainer *udc)
 
template<class T >
void setUserDataContainer (const ref_ptr< T > &udc)
 
osg::UserDataContainergetUserDataContainer ()
 
const osg::UserDataContainergetUserDataContainer () const
 
osg::UserDataContainergetOrCreateUserDataContainer ()
 
virtual void setUserData (Referenced *obj)
 
template<class T >
void setUserData (const ref_ptr< T > &ud)
 
virtual ReferencedgetUserData ()
 
virtual const ReferencedgetUserData () const
 
template<typename T >
bool getUserValue (const std::string &name, T &value) const
 
template<typename T >
void setUserValue (const std::string &name, const T &value)
 
template<typename T >
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool getUserValue (const std::string &name, T &value) const
 
- Public Member Functions inherited from osg::Referenced
 Referenced ()
 
 Referenced (bool threadSafeRefUnref)
 
 Referenced (const Referenced &)
 
Referencedoperator= (const Referenced &)
 
bool getThreadSafeRefUnref () const
 
OpenThreads::MutexgetRefMutex () const
 
int ref () const
 
int unref () const
 
int unref_nodelete () const
 
int referenceCount () const
 
ObserverSetgetObserverSet () const
 
ObserverSetgetOrCreateObserverSet () const
 
void addObserver (Observer *observer) const
 
void removeObserver (Observer *observer) const
 

Static Public Member Functions

static bool isPackedType (GLenum type)
 
static GLenum computePixelFormat (GLenum pixelFormat)
 
static GLenum computeFormatDataType (GLenum pixelFormat)
 
static osg::Vec3i computeBlockFootprint (GLenum pixelFormat)
 
static unsigned int computeBlockSize (GLenum pixelFormat, GLenum packing)
 
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 unsigned int computeImageSizeInBytes (int width, int height, int depth, GLenum pixelFormat, GLenum type, int packing=1, int slice_packing=1, int image_packing=1)
 
static int roudUpToMultiple (int s, int pack)
 
static int computeNearestPowerOfTwo (int s, float bias=0.5f)
 
static int computeNumberOfMipmapLevels (int s, int t=1, int r=1)
 
- Static Public Member Functions inherited from osg::Referenced
static OpenThreads::MutexgetGlobalReferencedMutex ()
 
static void setDeleteHandler (DeleteHandler *handler)
 
static DeleteHandlergetDeleteHandler ()
 

Protected Member Functions

virtual ~Image ()
 
Imageoperator= (const Image &)
 
void handleDimensionsChangedCallbacks ()
 
void deallocateData ()
 
void setData (unsigned char *data, AllocationMode allocationMode)
 
- Protected Member Functions inherited from osg::BufferData
virtual ~BufferData ()
 
- Protected Member Functions inherited from osg::Object
virtual ~Object ()
 
- Protected Member Functions inherited from osg::Referenced
virtual ~Referenced ()
 
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
 
void deleteUsingDeleteHandler () const
 

Protected Attributes

std::string _fileName
 
WriteHint _writeHint
 
Origin _origin
 
int _s
 
int _t
 
int _r
 
int _rowLength
 
GLint _internalTextureFormat
 
GLenum _pixelFormat
 
GLenum _dataType
 
unsigned int _packing
 
float _pixelAspectRatio
 
AllocationMode _allocationMode
 
unsigned char * _data
 
MipmapDataType _mipmapData
 
DimensionsChangedCallbackVector _dimensionsChangedCallbacks
 
- Protected Attributes inherited from osg::BufferData
unsigned int _modifiedCount
 
unsigned int _bufferIndex
 
osg::ref_ptr< BufferObject_bufferObject
 
osg::ref_ptr< ModifiedCallback_modifiedCallback
 
unsigned int _numClients
 
- Protected Attributes inherited from osg::Object
std::string _name
 
DataVariance _dataVariance
 
osg::UserDataContainer_userDataContainer
 
- Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr _observerSet
 
OpenThreads::Atomic _refCount
 

Detailed Description

Image class for encapsulating the storage texture image data.

Member Typedef Documentation

◆ DimensionsChangedCallbackVector

◆ MipmapDataType

typedef std::vector< unsigned int > osg::Image::MipmapDataType

Precomputed mipmaps stuff.

Member Enumeration Documentation

◆ AllocationMode

Enumerator
NO_DELETE 
USE_NEW_DELETE 
USE_MALLOC_FREE 

◆ Origin

Enumerator
BOTTOM_LEFT 
TOP_LEFT 

◆ WriteHint

Enumerator
NO_PREFERENCE 
STORE_INLINE 
EXTERNAL_FILE 

Constructor & Destructor Documentation

◆ Image() [1/2]

osg::Image::Image ( )

◆ Image() [2/2]

osg::Image::Image ( const Image image,
const CopyOp copyop = CopyOp::SHALLOW_COPY 
)

Copy constructor using CopyOp to manage deep vs shallow copy.

◆ ~Image()

virtual osg::Image::~Image ( )
protectedvirtual

Member Function Documentation

◆ addDimensionsChangedCallback()

void osg::Image::addDimensionsChangedCallback ( DimensionsChangedCallback cb)

◆ allocateImage()

virtual void osg::Image::allocateImage ( int  s,
int  t,
int  r,
GLenum  pixelFormat,
GLenum  type,
int  packing = 1 
)
virtual

Allocate a pixel block of specified size and type.

◆ asImage() [1/2]

virtual osg::Image * osg::Image::asImage ( )
inlinevirtual

Convert 'this' into a Image pointer if Object is a Image, otherwise return 0. Equivalent to dynamic_cast<Image*>(this).

Reimplemented from osg::BufferData.

◆ asImage() [2/2]

virtual const osg::Image * osg::Image::asImage ( ) const
inlinevirtual

Convert 'this' into a Image pointer if Object is a Image, otherwise return 0. Equivalent to dynamic_cast<Image*>(this).

Reimplemented from osg::BufferData.

◆ className()

virtual const char * osg::Image::className ( ) const
inlinevirtual

return the name of the object's class type. Must be defined by derived classes.

Reimplemented from osg::BufferData.

Reimplemented in osg::ImageSequence, and osg::ImageStream.

◆ clone()

virtual Object * osg::Image::clone ( const CopyOp ) const
inlinevirtual

Clone an object, with Object* return type. Must be defined by derived classes.

Implements osg::Object.

Reimplemented in osg::ImageSequence, and osg::ImageStream.

◆ cloneType()

virtual Object * osg::Image::cloneType ( ) const
inlinevirtual

Clone the type of an object, with Object* return type. Must be defined by derived classes.

Implements osg::Object.

Reimplemented in osg::ImageSequence, and osg::ImageStream.

◆ compare()

virtual int osg::Image::compare ( const Image rhs) const
virtual

Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.

Reimplemented in osg::ImageSequence, and osg::ImageStream.

◆ computeBlockFootprint()

static osg::Vec3i osg::Image::computeBlockFootprint ( GLenum  pixelFormat)
static

return the dimensions of a block of compressed pixels

◆ computeBlockSize()

static unsigned int osg::Image::computeBlockSize ( GLenum  pixelFormat,
GLenum  packing 
)
static

return the size in bytes of a block of compressed pixels

◆ computeFormatDataType()

static GLenum osg::Image::computeFormatDataType ( GLenum  pixelFormat)
static

◆ computeImageSizeInBytes()

static unsigned int osg::Image::computeImageSizeInBytes ( int  width,
int  height,
int  depth,
GLenum  pixelFormat,
GLenum  type,
int  packing = 1,
int  slice_packing = 1,
int  image_packing = 1 
)
static

◆ computeNearestPowerOfTwo()

static int osg::Image::computeNearestPowerOfTwo ( int  s,
float  bias = 0.5f 
)
static

◆ computeNumberOfMipmapLevels()

static int osg::Image::computeNumberOfMipmapLevels ( int  s,
int  t = 1,
int  r = 1 
)
static

◆ computeNumComponents()

static unsigned int osg::Image::computeNumComponents ( GLenum  pixelFormat)
static

◆ computePixelFormat()

static GLenum osg::Image::computePixelFormat ( GLenum  pixelFormat)
static

◆ computePixelSizeInBits()

static unsigned int osg::Image::computePixelSizeInBits ( GLenum  pixelFormat,
GLenum  type 
)
static

◆ computeRowWidthInBytes()

static unsigned int osg::Image::computeRowWidthInBytes ( int  width,
GLenum  pixelFormat,
GLenum  type,
int  packing 
)
static

◆ copySubImage()

virtual void osg::Image::copySubImage ( int  s_offset,
int  t_offset,
int  r_offset,
const osg::Image source 
)
virtual

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 this Image is empty then image data is created to accommodate the source image in its offset position. If source is NULL then no operation happens, this Image is left unchanged.

◆ data() [1/4]

unsigned char * osg::Image::data ( )
inline

Raw image data. Note, data in successive rows may not be contiguous, isDataContiguous() return false then you should take care to access the data per row rather than treating the whole data as a single block.

◆ data() [2/4]

const unsigned char * osg::Image::data ( ) const
inline

Raw const image data. Note, data in successive rows may not be contiguous, isDataContiguous() return false then you should take care to access the data per row rather than treating the whole data as a single block.

◆ data() [3/4]

unsigned char * osg::Image::data ( unsigned int  column,
unsigned int  row = 0,
unsigned int  image = 0 
)
inline

◆ data() [4/4]

const unsigned char * osg::Image::data ( unsigned int  column,
unsigned int  row = 0,
unsigned int  image = 0 
) const
inline

◆ deallocateData()

void osg::Image::deallocateData ( )
protected

◆ ensureValidSizeForTexturing()

void osg::Image::ensureValidSizeForTexturing ( GLint  maxTextureSize)

Ensure image dimensions are a power of two. Mipmapped textures require the image dimensions to be power of two and are within the maximum texture size for the host machine.

◆ flipDepth()

void osg::Image::flipDepth ( )

Flip the image around the r dimension. Only relevant for 3D textures.

◆ flipHorizontal()

void osg::Image::flipHorizontal ( )

Flip the image horizontally, around s dimension.

◆ flipVertical()

void osg::Image::flipVertical ( )

Flip the image vertically, around t dimension.

◆ getAllocationMode()

AllocationMode osg::Image::getAllocationMode ( ) const
inline

Get the method used for deleting data once it goes out of scope.

◆ getColor() [1/3]

Vec4 osg::Image::getColor ( const Vec2 texcoord) const
inline

Get the color value for specified texcoord.

◆ getColor() [2/3]

Vec4 osg::Image::getColor ( const Vec3 texcoord) const

Get the color value for specified texcoord.

◆ getColor() [3/3]

Vec4 osg::Image::getColor ( unsigned int  s,
unsigned  t = 0,
unsigned  r = 0 
) const

Get the color value for specified texcoord.

◆ getDataPointer()

virtual const GLvoid * osg::Image::getDataPointer ( ) const
inlinevirtual

Implements osg::BufferData.

◆ getDataType()

GLenum osg::Image::getDataType ( ) const
inline

◆ getFileName()

const std::string & osg::Image::getFileName ( ) const
inline

◆ getImageSizeInBytes()

unsigned int osg::Image::getImageSizeInBytes ( ) const
inline

Return the number of bytes each image (_s*_t) of pixels occupies.

◆ getImageStepInBytes()

unsigned int osg::Image::getImageStepInBytes ( ) const
inline

Return the number of bytes between each successive image. Note, getImageSizeInBytes() will only equal getImageStepInBytes() when isDataContiguous() return true.

◆ getInternalTextureFormat()

GLint osg::Image::getInternalTextureFormat ( ) const
inline

◆ getMipmapData() [1/2]

unsigned char * osg::Image::getMipmapData ( unsigned int  mipmapLevel)
inline

◆ getMipmapData() [2/2]

const unsigned char * osg::Image::getMipmapData ( unsigned int  mipmapLevel) const
inline

◆ getMipmapLevels()

const MipmapDataType & osg::Image::getMipmapLevels ( ) const
inline

◆ getMipmapOffset()

unsigned int osg::Image::getMipmapOffset ( unsigned int  mipmapLevel) const
inline

◆ getNumMipmapLevels()

unsigned int osg::Image::getNumMipmapLevels ( ) const
inline

◆ getOrigin()

Origin osg::Image::getOrigin ( ) const
inline

Get the origin of the image.

◆ getPacking()

unsigned int osg::Image::getPacking ( ) const
inline

◆ getPixelAspectRatio()

float osg::Image::getPixelAspectRatio ( ) const
inline

Get the pixel aspect ratio.

◆ getPixelBufferObject() [1/2]

PixelBufferObject * osg::Image::getPixelBufferObject ( )
inline

◆ getPixelBufferObject() [2/2]

const PixelBufferObject * osg::Image::getPixelBufferObject ( ) const
inline

Get the const PixelBufferObject.

◆ getPixelFormat()

GLenum osg::Image::getPixelFormat ( ) const
inline

◆ getPixelSizeInBits()

unsigned int osg::Image::getPixelSizeInBits ( ) const
inline

Return the number of bits required for each pixel.

◆ getRowLength()

int osg::Image::getRowLength ( ) const
inline

◆ getRowSizeInBytes()

unsigned int osg::Image::getRowSizeInBytes ( ) const
inline

Return the number of bytes each row of pixels occupies once it has been packed.

◆ getRowStepInBytes()

unsigned int osg::Image::getRowStepInBytes ( ) const
inline

Return the number of bytes between each successive row. Note, getRowSizeInBytes() will only equal getRowStepInBytes() when isDataContiguous() return true.

◆ getTotalDataSize()

virtual unsigned int osg::Image::getTotalDataSize ( ) const
inlinevirtual

Implements osg::BufferData.

◆ getTotalSizeInBytes()

unsigned int osg::Image::getTotalSizeInBytes ( ) const
inline

Return the number of bytes the whole row/image/volume of pixels occupies.

◆ getTotalSizeInBytesIncludingMipmaps()

unsigned int osg::Image::getTotalSizeInBytesIncludingMipmaps ( ) const

Return the number of bytes the whole row/image/volume of pixels occupies, including all mip maps if included.

◆ getWriteHint()

WriteHint osg::Image::getWriteHint ( ) const
inline

◆ handleDimensionsChangedCallbacks()

void osg::Image::handleDimensionsChangedCallbacks ( )
inlineprotected

◆ isCompressed()

bool osg::Image::isCompressed ( ) const

Return true of the pixel format is an OpenGL compressed pixel format.

◆ isDataContiguous()

bool osg::Image::isDataContiguous ( ) const
inline

return true if the data stored in the image is a contiguous block of data.

◆ isImageTranslucent()

virtual bool osg::Image::isImageTranslucent ( ) const
virtual

Return true if this image is translucent - i.e. it has alpha values that are less 1.0 (when normalized).

◆ isMipmap()

bool osg::Image::isMipmap ( ) const
inline

◆ isPackedType()

static bool osg::Image::isPackedType ( GLenum  type)
static

◆ isSameKindAs()

virtual bool osg::Image::isSameKindAs ( const Object obj) const
inlinevirtual

Reimplemented from osg::BufferData.

Reimplemented in osg::ImageSequence, and osg::ImageStream.

◆ libraryName()

virtual const char * osg::Image::libraryName ( ) const
inlinevirtual

return the name of the object's library. Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name.

Reimplemented from osg::BufferData.

Reimplemented in osg::ImageSequence, and osg::ImageStream.

◆ operator=()

Image & osg::Image::operator= ( const Image )
inlineprotected

◆ r()

int osg::Image::r ( ) const
inline

Depth of image.

◆ readImageFromCurrentTexture()

virtual void osg::Image::readImageFromCurrentTexture ( unsigned int  contextID,
bool  copyMipMapsIfAvailable,
GLenum  type = GL_UNSIGNED_BYTE,
unsigned int  face = 0 
)
virtual

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.

◆ readPixels()

virtual void osg::Image::readPixels ( int  x,
int  y,
int  width,
int  height,
GLenum  pixelFormat,
GLenum  type,
int  packing = 1 
)
virtual

Read pixels from current frame buffer at specified position and size, using glReadPixels. Create memory for storage if required, reuse existing pixel coords if possible.

◆ removeDimensionsChangedCallback()

void osg::Image::removeDimensionsChangedCallback ( DimensionsChangedCallback cb)

◆ requiresUpdateCall()

virtual bool osg::Image::requiresUpdateCall ( ) const
inlinevirtual

Return whether the update(NodeVisitor* nv) should be required on each frame to enable proper working of osg::Image.

Reimplemented in osg::ImageSequence.

◆ roudUpToMultiple()

static int osg::Image::roudUpToMultiple ( int  s,
int  pack 
)
static

◆ s()

int osg::Image::s ( ) const
inline

Width of image.

◆ scaleImage() [1/2]

void osg::Image::scaleImage ( int  s,
int  t,
int  r 
)
inline

Scale image to specified size.

◆ scaleImage() [2/2]

virtual void osg::Image::scaleImage ( int  s,
int  t,
int  r,
GLenum  newDataType 
)
virtual

Scale image to specified size and with specified data type.

◆ sendFocusHint()

virtual bool osg::Image::sendFocusHint ( bool  )
inlinevirtual

Hint whether to enable or disable focus to images acting as front ends to interactive surfaces such as a vnc or browser window. Return true if handled.

◆ sendKeyEvent()

virtual bool osg::Image::sendKeyEvent ( int  ,
bool   
)
inlinevirtual

Send key events to images that are acting as front ends to interactive surfaces such as a vnc or browser window. Return true if handled.

◆ sendPointerEvent()

virtual bool osg::Image::sendPointerEvent ( int  ,
int  ,
int   
)
inlinevirtual

Send pointer events to images that are acting as front ends to interactive surfaces such as a vnc or browser window. Return true if handled.

◆ setAllocationMode()

void osg::Image::setAllocationMode ( AllocationMode  mode)
inline

Set the method used for deleting data once it goes out of scope.

◆ setColor() [1/3]

void osg::Image::setColor ( const osg::Vec4 color,
const osg::Vec2 texcoord 
)
inline

Set the color value for specified texcoord. Note texcoord is clamped to edge.

◆ setColor() [2/3]

void osg::Image::setColor ( const osg::Vec4 color,
const osg::Vec3 texcoord 
)

Set the color value for specified texcoord. Note texcoord is clamped to edge.

◆ setColor() [3/3]

void osg::Image::setColor ( const osg::Vec4 color,
unsigned int  s,
unsigned int  t = 0,
unsigned int  r = 0 
)

Set the color value for specified texcoord.

◆ setData()

void osg::Image::setData ( unsigned char *  data,
AllocationMode  allocationMode 
)
protected

◆ setDataType()

void osg::Image::setDataType ( GLenum  dataType)

◆ setFileName()

void osg::Image::setFileName ( const std::string &  fileName)

◆ setFrameLastRendered()

virtual void osg::Image::setFrameLastRendered ( const osg::FrameStamp )
inlinevirtual

Pass frame information to the custom Image classes, to be called only when objects associated with imagery are not culled.

◆ setImage()

virtual void osg::Image::setImage ( int  s,
int  t,
int  r,
GLint  internalTextureformat,
GLenum  pixelFormat,
GLenum  type,
unsigned char *  data,
AllocationMode  mode,
int  packing = 1,
int  rowLength = 0 
)
virtual

Set the image dimensions, format and data.

◆ setInternalTextureFormat()

void osg::Image::setInternalTextureFormat ( GLint  internalFormat)

◆ setMipmapLevels()

void osg::Image::setMipmapLevels ( const MipmapDataType mipmapDataVector)
inline

Send offsets into data. It is assumed that first mipmap offset (index 0) is 0.

◆ setOrigin()

void osg::Image::setOrigin ( Origin  origin)
inline

Set the origin of the image. The default value is BOTTOM_LEFT and is consistent with OpenGL. TOP_LEFT is used for imagery that follows standard Imagery convention, such as movies, and hasn't been flipped yet. For such images one much flip the t axis of the tex coords. to handle this origin position.

◆ setPacking()

void osg::Image::setPacking ( unsigned int  packing)
inline

◆ setPixelAspectRatio()

void osg::Image::setPixelAspectRatio ( float  pixelAspectRatio)
inline

Set the pixel aspect ratio, defined as the pixel width divided by the pixel height.

◆ setPixelBufferObject()

void osg::Image::setPixelBufferObject ( PixelBufferObject buffer)
inline

Set the optional PixelBufferObject used to map the image memory efficiently to graphics memory.

◆ setPixelFormat()

void osg::Image::setPixelFormat ( GLenum  pixelFormat)

◆ setRowLength()

void osg::Image::setRowLength ( int  length)

◆ setWriteHint()

void osg::Image::setWriteHint ( WriteHint  writeHint)
inline

◆ supportsTextureSubloading()

bool osg::Image::supportsTextureSubloading ( ) const

returns false for texture formats that do not support texture subloading

◆ swap()

void osg::Image::swap ( osg::Image rhs)

swap the data and settings between two image objects.

◆ t()

int osg::Image::t ( ) const
inline

Height of image.

◆ update()

virtual void osg::Image::update ( NodeVisitor )
inlinevirtual

update method for osg::Image subclasses that update themselves during the update traversal.

Reimplemented in osg::ImageSequence.

◆ valid()

bool osg::Image::valid ( ) const
inline

Return true if the Image represent a valid and usable imagery.

Member Data Documentation

◆ _allocationMode

AllocationMode osg::Image::_allocationMode
protected

◆ _data

unsigned char* osg::Image::_data
protected

◆ _dataType

GLenum osg::Image::_dataType
protected

◆ _dimensionsChangedCallbacks

DimensionsChangedCallbackVector osg::Image::_dimensionsChangedCallbacks
protected

◆ _fileName

std::string osg::Image::_fileName
protected

◆ _internalTextureFormat

GLint osg::Image::_internalTextureFormat
protected

◆ _mipmapData

MipmapDataType osg::Image::_mipmapData
protected

◆ _origin

Origin osg::Image::_origin
protected

◆ _packing

unsigned int osg::Image::_packing
protected

◆ _pixelAspectRatio

float osg::Image::_pixelAspectRatio
protected

◆ _pixelFormat

GLenum osg::Image::_pixelFormat
protected

◆ _r

int osg::Image::_r
protected

◆ _rowLength

int osg::Image::_rowLength
protected

◆ _s

int osg::Image::_s
protected

◆ _t

int osg::Image::_t
protected

◆ _writeHint

WriteHint osg::Image::_writeHint
protected

The documentation for this class was generated from the following file: