Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials

irr::video::ITexture Class Reference

Interface of a Video Driver dependent Texture. More...

#include <ITexture.h>

Inheritance diagram for irr::video::ITexture:
irr::IReferenceCounted

List of all members.

Public Member Functions

virtual ECOLOR_FORMAT getColorFormat () const =0
 Get the color format of texture.
virtual E_DRIVER_TYPE getDriverType () const =0
 Get driver type of texture.
const io::SNamedPathgetName () const
 Get name of texture (in most cases this is the filename).
virtual const
core::dimension2d< u32 > & 
getOriginalSize () const =0
 Get original size of the texture.
virtual u32 getPitch () const =0
 Get pitch of texture (in bytes).
virtual const
core::dimension2d< u32 > & 
getSize () const =0
 Get dimension (=size) of the texture.
virtual bool hasAlpha () const
 Returns if the texture has an alpha channel.
virtual bool hasMipMaps () const
 Check whether the texture has MipMaps.
virtual bool isRenderTarget () const
 Check whether the texture is a render target.
 ITexture (const io::path &name)
 constructor
virtual void * lock (bool readOnly=false, u32 mipmapLevel=0)=0
 Lock function.
virtual void regenerateMipMapLevels (void *mipmapData=0)=0
 Regenerates the mip map levels of the texture.
virtual void unlock ()=0
 Unlock function. Must be called after a lock() to the texture.

Protected Member Functions

E_TEXTURE_CREATION_FLAG getTextureFormatFromFlags (u32 flags)
 Helper function, helps to get the desired texture creation format from the flags.

Protected Attributes

io::SNamedPath NamedPath

Detailed Description

Interface of a Video Driver dependent Texture.

An ITexture is created by an IVideoDriver by using IVideoDriver::addTexture or IVideoDriver::getTexture. After that, the texture may only be used by this VideoDriver. As you can imagine, textures of the DirectX and the OpenGL device will, e.g., not be compatible. An exception is the Software device and the NULL device, their textures are compatible. If you try to use a texture created by one device with an other device, the device will refuse to do that and write a warning or an error message to the output buffer.

Definition at line 83 of file ITexture.h.


Constructor & Destructor Documentation

irr::video::ITexture::ITexture ( const io::path name  )  [inline]

constructor

Definition at line 88 of file ITexture.h.


Member Function Documentation

virtual ECOLOR_FORMAT irr::video::ITexture::getColorFormat (  )  const [pure virtual]

Get the color format of texture.

Returns:
The color format of texture.

Referenced by hasAlpha().

virtual E_DRIVER_TYPE irr::video::ITexture::getDriverType (  )  const [pure virtual]

Get driver type of texture.

This is the driver, which created the texture. This method is used internally by the video devices, to check, if they may use a texture because textures may be incompatible between different devices.

Returns:
Driver type of texture.
const io::SNamedPath& irr::video::ITexture::getName (  )  const [inline]

Get name of texture (in most cases this is the filename).

Definition at line 160 of file ITexture.h.

References NamedPath.

virtual const core::dimension2d<u32>& irr::video::ITexture::getOriginalSize (  )  const [pure virtual]

Get original size of the texture.

The texture is usually scaled, if it was created with an unoptimal size. For example if the size was not a power of two. This method returns the size of the texture it had before it was scaled. Can be useful when drawing 2d images on the screen, which should have the exact size of the original texture. Use ITexture::getSize() if you want to know the real size it has now stored in the system.

Returns:
The original size of the texture.
virtual u32 irr::video::ITexture::getPitch (  )  const [pure virtual]

Get pitch of texture (in bytes).

The pitch is the amount of bytes used for a row of pixels in a texture.

Returns:
Pitch of texture in bytes.
virtual const core::dimension2d<u32>& irr::video::ITexture::getSize (  )  const [pure virtual]

Get dimension (=size) of the texture.

Returns:
The size of the texture.
E_TEXTURE_CREATION_FLAG irr::video::ITexture::getTextureFormatFromFlags ( u32  flags  )  [inline, protected]

Helper function, helps to get the desired texture creation format from the flags.

Returns:
Either ETCF_ALWAYS_32_BIT, ETCF_ALWAYS_16_BIT, ETCF_OPTIMIZED_FOR_QUALITY, or ETCF_OPTIMIZED_FOR_SPEED.

Definition at line 167 of file ITexture.h.

References irr::video::ETCF_ALWAYS_16_BIT, irr::video::ETCF_ALWAYS_32_BIT, irr::video::ETCF_OPTIMIZED_FOR_QUALITY, and irr::video::ETCF_OPTIMIZED_FOR_SPEED.

virtual bool irr::video::ITexture::hasAlpha (  )  const [inline, virtual]

Returns if the texture has an alpha channel.

Definition at line 147 of file ITexture.h.

References irr::video::ECF_A1R5G5B5, irr::video::ECF_A8R8G8B8, and getColorFormat().

virtual bool irr::video::ITexture::hasMipMaps (  )  const [inline, virtual]

Check whether the texture has MipMaps.

Returns:
True if texture has MipMaps, else false.

Definition at line 144 of file ITexture.h.

virtual bool irr::video::ITexture::isRenderTarget (  )  const [inline, virtual]

Check whether the texture is a render target.

Returns:
True if this is a render target, otherwise false.

Definition at line 157 of file ITexture.h.

virtual void* irr::video::ITexture::lock ( bool  readOnly = false,
u32  mipmapLevel = 0 
) [pure virtual]

Lock function.

Locks the Texture and returns a pointer to access the pixels. After lock() has been called and all operations on the pixels are done, you must call unlock(). Locks are not accumulating, hence one unlock will do for an arbitrary number of previous locks.

Parameters:
readOnly Specifies that no changes to the locked texture are made. Unspecified behavior will arise if still write access happens.
mipmapLevel Number of the mipmapLevel to lock. 0 is main texture. Non-existing levels will silently fail and return 0.
Returns:
Returns a pointer to the pixel data. The format of the pixel can be determined by using getColorFormat(). 0 is returned, if the texture cannot be locked.
virtual void irr::video::ITexture::regenerateMipMapLevels ( void *  mipmapData = 0  )  [pure virtual]

Regenerates the mip map levels of the texture.

Required after modifying the texture, usually after calling unlock().

virtual void irr::video::ITexture::unlock (  )  [pure virtual]

Unlock function. Must be called after a lock() to the texture.

One should avoid to call unlock more than once before another lock.


Member Data Documentation

Definition at line 180 of file ITexture.h.

Referenced by getName().


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

The Irrlicht Engine
The Irrlicht Engine Documentation © 2003-2010 by Nikolaus Gebhardt. Generated on Sun Oct 24 12:42:09 2010 by Doxygen (1.6.2)