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, uintgetDimensions ()
 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 StringgetName (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