Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

Ogre::Texture Class Reference

Abstract class representing a Texture resource. More...

#include <OgreTexture.h>

Inheritance diagram for Ogre::Texture:

Ogre::Resource Ogre::D3D8Texture Ogre::D3D9Texture Ogre::D3DTexture Ogre::RenderTargetTexture Ogre::SDLTexture List of all members.

Public Methods

unsigned short getNumMipMaps (void)
 Gets the number of mipmaps to be used for this texture. More...

void setNumMipMaps (unsigned short num)
 Sets the number of mipmaps to be used for this texture. More...

float getGamma (void)
 Returns the gamma adjustment factor applied to this texture. More...

void setGamma (float g)
 Sets the gamma adjustment factor applied to this texture. More...

unsigned int getHeight (void)
 Returns the height of the texture. More...

unsigned int getWidth (void)
 Returns the width of the texture. More...

std::pair< uint, uint > getDimensions ()
 Returns both the width and height of the texture. More...

TextureUsage getUsage () const
virtual void blitToTexture (const Image &src, unsigned uStartX, unsigned uStartY)=0
 Blits the contents of src on the texture. More...

virtual void blitImage (const Image &src, const Image::Rect imgRect, const Image::Rect texRect)
 Blits a rect from an image to the texture. More...

virtual void copyToTexture (Texture *target)
 Copies (and maybe scales to fit) the contents of this texture to another texture. More...

virtual void loadImage (const Image &img)=0
 Loads the data from an image. More...

void enable32Bit (bool setting=true)
virtual PixelFormat getFormat () const
 Returns the pixel format for the texture surface. More...

virtual bool hasAlpha (void)
 Returns true if the texture has an alpha layer. More...

virtual void load ()=0
 Loads the resource, if it is not already. More...

virtual void unload ()
 Unloads the resource, but retains data to recreate. More...

virtual size_t getSize (void)
 Retrieves info about the size of the resource. More...

void touch (void)
 'Touches' the resource to indicate it has been used. More...

time_t getLastAccess (void) const
 Gets the last time the resource was 'touched'. More...

const String & getName (void) const
 Gets resource name. More...

bool isLoaded (void) const
 Returns true if the Resource has been loaded, false otherwise. More...

virtual void destroy ()
 A method to make the resource delete itself. More...


Protected Attributes

unsigned long mHeight
unsigned long mWidth
unsigned short mNumMipMaps
float mGamma
PixelFormat mFormat
TextureUsage mUsage
unsigned short mSrcBpp
unsigned long mSrcWidth
unsigned long mSrcHeight
unsigned short mFinalBpp
bool mHasAlpha
String mName
bool mIsLoaded
time_t mLastAccess
size_t mSize

Detailed Description

Abstract class representing a Texture resource.

Remarks:
The actual concrete subclass which will exist for a texture is dependent on the rendering system in use (Direct3D, OpenGL etc). This class represents the commonalities, and is the one 'used' by programmers even though the real implementation could be different in reality. Texture objects are created through the 'create' method of the TextureManager concrete subclass.


Member Function Documentation

virtual void Ogre::Texture::blitImage (  const Image &    src,
const Image::Rect    imgRect,
const Image::Rect    texRect
)  [inline, virtual]
 

Blits a rect from an image to the texture.

Parameters:
src  The image with the source data.
imgRect  The data rect to be copied from the image.
texRect  The rect in which to copy the data in the texture.

Reimplemented in Ogre::D3DTexture.

virtual void Ogre::Texture::blitToTexture (  const Image &    src,
unsigned    uStartX,
unsigned    uStartY
)  [pure virtual]
 

Blits the contents of src on the texture.

Deprecated:
This feature is superseded by the blitImage function.
Parameters:
src  the image with the source data

Implemented in Ogre::D3DTexture.

virtual void Ogre::Texture::copyToTexture (  Texture *    target )  [inline, virtual]
 

Copies (and maybe scales to fit) the contents of this texture to another texture.

Reimplemented in Ogre::D3DTexture.

virtual void Ogre::Resource::destroy (  void    )  [inline, virtual, inherited]
 

A method to make the resource delete itself.

Note:
This exists because Resource objects could be created in other processes, and they need to be destroyed in the process that created them.

void Ogre::Texture::enable32Bit (  bool    setting = true )  [inline]
 

std::pair< uint, uint > Ogre::Texture::getDimensions (    )  [inline]
 

Returns both the width and height of the texture.

virtual PixelFormat Ogre::Texture::getFormat (    )  const [inline, virtual]
 

Returns the pixel format for the texture surface.

float Ogre::Texture::getGamma (  void    )  [inline]
 

Returns the gamma adjustment factor applied to this texture.

unsigned int Ogre::Texture::getHeight (  void    )  [inline]
 

Returns the height of the texture.

time_t Ogre::Resource::getLastAccess (  void    )  const [inline, inherited]
 

Gets the last time the resource was 'touched'.

const String& Ogre::Resource::getName (  void    )  const [inline, inherited]
 

Gets resource name.

Reimplemented in Ogre::Material.

unsigned short Ogre::Texture::getNumMipMaps (  void    )  [inline]
 

Gets the number of mipmaps to be used for this texture.

virtual size_t Ogre::Resource::getSize (  void    )  [inline, virtual, inherited]
 

Retrieves info about the size of the resource.

TextureUsage Ogre::Texture::getUsage (    )  const [inline]
 

unsigned int Ogre::Texture::getWidth (  void    )  [inline]
 

Returns the width of the texture.

virtual bool Ogre::Texture::hasAlpha (  void    )  [inline, virtual]
 

Returns true if the texture has an alpha layer.

bool Ogre::Resource::isLoaded (  void    )  const [inline, inherited]
 

Returns true if the Resource has been loaded, false otherwise.

virtual void Ogre::Resource::load (    )  [pure virtual, inherited]
 

Loads the resource, if it is not already.

Implemented in Ogre::ArchiveEx.

virtual void Ogre::Texture::loadImage (  const Image &    img )  [pure virtual]
 

Loads the data from an image.

Implemented in Ogre::D3DTexture.

void Ogre::Texture::setGamma (  float    g )  [inline]
 

Sets the gamma adjustment factor applied to this texture.

Note:
Must be called before any 'load' method.

void Ogre::Texture::setNumMipMaps (  unsigned short    num )  [inline]
 

Sets the number of mipmaps to be used for this texture.

Note:
Must be set before calling any 'load' method.

void Ogre::Resource::touch (  void    )  [inline, inherited]
 

'Touches' the resource to indicate it has been used.

virtual void Ogre::Resource::unload (  void    )  [inline, virtual, inherited]
 

Unloads the resource, but retains data to recreate.

Reimplemented in Ogre::ArchiveEx.


Member Data Documentation

unsigned short Ogre::Texture::mFinalBpp [protected]
 

PixelFormat Ogre::Texture::mFormat [protected]
 

float Ogre::Texture::mGamma [protected]
 

bool Ogre::Texture::mHasAlpha [protected]
 

unsigned long Ogre::Texture::mHeight [protected]
 

bool Ogre::Resource::mIsLoaded [protected, inherited]
 

time_t Ogre::Resource::mLastAccess [protected, inherited]
 

String Ogre::Resource::mName [protected, inherited]
 

unsigned short Ogre::Texture::mNumMipMaps [protected]
 

size_t Ogre::Resource::mSize [protected, inherited]
 

unsigned short Ogre::Texture::mSrcBpp [protected]
 

unsigned long Ogre::Texture::mSrcHeight [protected]
 

unsigned long Ogre::Texture::mSrcWidth [protected]
 

TextureUsage Ogre::Texture::mUsage [protected]
 

unsigned long Ogre::Texture::mWidth [protected]
 

Copyright © 2002 by The OGRE Team