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

Ogre::D3D9Texture Class Reference

#include <OgreD3D9Texture.h>

Inheritance diagram for Ogre::D3D9Texture:

Inheritance graph
[legend]
List of all members.

Public Methods

 D3D9Texture (const String &name, TextureType texType, IDirect3DDevice9 *pD3DDevice, TextureUsage usage)
 constructor 1

 D3D9Texture (const String &name, TextureType texType, IDirect3DDevice9 *pD3DDevice, uint width, uint height, uint numMips, PixelFormat format, TextureUsage usage)
 constructor 2

 ~D3D9Texture ()
 destructor

void blitImage (const Image &src, const Image::Rect imgRect, const Image::Rect texRect)
 overriden from Texture

void blitToTexture (const Image &src, unsigned uStartX, unsigned uStartY)
 overriden from Texture

void copyToTexture (Texture *target)
 overriden from Texture

void loadImage (const Image &img)
 overriden from Texture

void load ()
 overriden from Resource

void unload ()
 overriden from Resource

IDirect3DBaseTexture9 * getTexture ()
 retrieves a pointer to the actual texture

IDirect3DTexture9 * getNormTexture ()
 retrieves a pointer to the normal 1D/2D texture

IDirect3DCubeTexture9 * getCubeTexture ()
 retrieves a pointer to the cube texture

IDirect3DSurface9 * getDepthStencil ()
 retrieves a pointer to the Depth stencil

TextureType getTextureType (void) const
 Gets the type of texture.

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

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

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

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

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

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

unsigned int getDepth (void) const
 Returns the depth of the texture (only applicable for 3D textures).

std::pair< uint, uintgetDimensions () const
 Returns both the width and height of the texture.

TextureUsage getUsage () const
 Returns the TextureUsage indentifier for this Texture.

virtual void loadRawData (const DataChunk &pData, ushort uWidth, ushort uHeight, PixelFormat eFormat)
 Loads the data from the raw memory area.

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

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

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

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

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

const StringgetName (void) const
 Gets resource name.

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

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


Protected Attributes

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

Private Methods

void _loadCubeTex ()
 internal method, load a cube texture

void _loadNormTex ()
 internal method, load a normal texture

void _loadVolumeTex ()
 internal method, load a volume texture

void _createTex ()
 internal method, create a blank texture

void _createNormTex ()
 internal method, create a blank normal 1D/2D texture

void _createCubeTex ()
 internal method, create a blank cube texture

D3DFORMAT _chooseD3DFormat ()
 internal method, return a D3D pixel format for texture creation

void _getColorMasks (D3DFORMAT format, DWORD *pdwRed, DWORD *pdwGreen, DWORD *pdwBlue, DWORD *pdwAlpha, DWORD *pdwRGBBitCount)
 internal method, return the color masks for a given format

void _copyMemoryToSurface (const unsigned char *pBuffer, IDirect3DSurface9 *pSurface)
 internal method, copy a memory block to the given surface

void _blitImageToNormTex (const Image &srcImage)
 internal method, blits a given image to normal textures

void _blitImagesToCubeTex (const Image srcImages[])
 internal method, blits images to cube textures

void _freeResources ()
 internal method, free D3D9 resources

void _initMembers ()
 internal method, initialize member vars

void _setDevice (IDirect3DDevice9 *pDev)
 internal method, set the device and fillIn the device caps

void _constructCubeFaceNames (const String &name)
 internal method, construct full cube texture face names from a given string

void _setSrcAttributes (unsigned long width, unsigned long height, unsigned long depth, PixelFormat format)
 internal method, set Texture class source image protected attributes

void _setFinalAttributes (unsigned long width, unsigned long height, unsigned long depth, PixelFormat format)
 internal method, set Texture class final texture protected attributes

D3DTEXTUREFILTERTYPE _getBestFilterMethod ()
 internal method, return the best by hardware supported filter method

bool _canAutoGenMipMaps (DWORD srcUsage, D3DRESOURCETYPE srcType, D3DFORMAT srcFormat)
 internal method, return true if the device/texture combination can auto gen. mip maps

void _createDepthStencil ()
 internal method, create a depth stencil for the render target texture

String _getCubeFaceName (unsigned char face) const
 internal method, the cube map face name for the spec. face index


Static Private Methods

PixelFormat _getPF (D3DFORMAT d3dPF)
 Create a depth buffer for our render target, it must be of the same format as other targets !!! .

D3DFORMAT _getPF (PixelFormat ogrePF)
 internal method, convert Ogre pixel format to D3D9 pixel format

unsigned short _getPFBpp (PixelFormat ogrePF)
 internal method, return the BPP for the specified format


Private Attributes

IDirect3DDevice9 * mpDev
 D3DDevice pointer.

IDirect3D9 * mpD3D
 D3D9 pointer.

IDirect3DTexture9 * mpNormTex
 1D/2D normal texture pointer

IDirect3DCubeTexture9 * mpCubeTex
 cubic texture pointer

IDirect3DVolumeTexture9 * mpVolumeTex
 Volume texture.

IDirect3DSurface9 * mpZBuff
 z-buffer for the render surface pointer

IDirect3DBaseTexture9 * mpTex
 actual texture pointer

String mCubeFaceNames [6]
 cube texture individual face names

D3DDEVICE_CREATION_PARAMETERS mDevCreParams
 device creation parameters

D3DFORMAT mBBPixelFormat
 back buffer pixel format

D3DCAPS9 mDevCaps
 device capabilities pointer

bool mAutoGenMipMaps

Constructor & Destructor Documentation

Ogre::D3D9Texture::D3D9Texture const String   name,
TextureType    texType,
IDirect3DDevice9 *    pD3DDevice,
TextureUsage    usage
 

constructor 1

Definition at line 40 of file OgreD3D9Texture.cpp.

References _constructCubeFaceNames(), _initMembers(), _setDevice(), Ogre::Texture::getTextureType(), mAutoGenMipMaps, Ogre::Resource::mName, Ogre::Texture::mTextureType, Ogre::Texture::mUsage, Ogre::String, Ogre::TEX_TYPE_CUBE_MAP, Ogre::TextureType, and Ogre::TextureUsage.

Ogre::D3D9Texture::D3D9Texture const String   name,
TextureType    texType,
IDirect3DDevice9 *    pD3DDevice,
uint    width,
uint    height,
uint    numMips,
PixelFormat    format,
TextureUsage    usage
 

constructor 2

Definition at line 56 of file OgreD3D9Texture.cpp.

References _constructCubeFaceNames(), _createTex(), _initMembers(), _setDevice(), _setSrcAttributes(), Ogre::Texture::getTextureType(), mAutoGenMipMaps, Ogre::Resource::mIsLoaded, Ogre::Resource::mName, Ogre::Texture::mNumMipMaps, Ogre::Texture::mTextureType, Ogre::Texture::mUsage, Ogre::PixelFormat, Ogre::String, Ogre::TEX_TYPE_CUBE_MAP, Ogre::TextureType, Ogre::TextureUsage, Ogre::TU_RENDERTARGET, and Ogre::uint.

Ogre::D3D9Texture::~D3D9Texture  
 

destructor

Definition at line 82 of file OgreD3D9Texture.cpp.

References Ogre::Resource::isLoaded(), mpD3D, SAFE_RELEASE, and unload().


Member Function Documentation

void Ogre::D3D9Texture::_blitImagesToCubeTex const Image    srcImages[] [private]
 

internal method, blits images to cube textures

Definition at line 1159 of file OgreD3D9Texture.cpp.

References _chooseD3DFormat(), _copyMemoryToSurface(), _freeResources(), _getBestFilterMethod(), _getPF(), Except, Ogre::Image::getData(), Ogre::Texture::getFormat(), Ogre::Texture::getHeight(), Ogre::Image::getHeight(), Ogre::Texture::getWidth(), Ogre::Image::getWidth(), mpCubeTex, mpDev, mpTex, and SAFE_RELEASE.

void Ogre::D3D9Texture::_blitImageToNormTex const Image   srcImage [private]
 

internal method, blits a given image to normal textures

Definition at line 1074 of file OgreD3D9Texture.cpp.

References _chooseD3DFormat(), _copyMemoryToSurface(), _freeResources(), _getBestFilterMethod(), _getPF(), Except, Ogre::Image::getData(), Ogre::Image::getFormat(), Ogre::Image::getHeight(), Ogre::Image::getWidth(), mpDev, mpNormTex, mpTex, and SAFE_RELEASE.

Referenced by loadImage().

bool Ogre::D3D9Texture::_canAutoGenMipMaps DWORD    srcUsage,
D3DRESOURCETYPE    srcType,
D3DFORMAT    srcFormat
[private]
 

internal method, return true if the device/texture combination can auto gen. mip maps

Definition at line 917 of file OgreD3D9Texture.cpp.

References mBBPixelFormat, mDevCaps, mDevCreParams, mpD3D, and mpDev.

Referenced by _createCubeTex(), and _createNormTex().

D3DFORMAT Ogre::D3D9Texture::_chooseD3DFormat   [private]
 

internal method, return a D3D pixel format for texture creation

Definition at line 1261 of file OgreD3D9Texture.cpp.

References Except, Ogre::Texture::mFinalBpp, and Ogre::Texture::mHasAlpha.

Referenced by _blitImagesToCubeTex(), _blitImageToNormTex(), _createCubeTex(), _createNormTex(), and blitToTexture().

void Ogre::D3D9Texture::_constructCubeFaceNames const String   name [private]
 

internal method, construct full cube texture face names from a given string

Definition at line 812 of file OgreD3D9Texture.cpp.

References _freeResources(), Except, mCubeFaceNames, and Ogre::String.

Referenced by D3D9Texture().

void Ogre::D3D9Texture::_copyMemoryToSurface const unsigned char *    pBuffer,
IDirect3DSurface9 *    pSurface
[private]
 

internal method, copy a memory block to the given surface

Definition at line 979 of file OgreD3D9Texture.cpp.

References _freeResources(), _getColorMasks(), Except, Ogre::Texture::mSrcBpp, Ogre::Texture::mSrcHeight, Ogre::Texture::mSrcWidth, and SAFE_RELEASE.

Referenced by _blitImagesToCubeTex(), and _blitImageToNormTex().

void Ogre::D3D9Texture::_createCubeTex   [private]
 

internal method, create a blank cube texture

Definition at line 685 of file OgreD3D9Texture.cpp.

References _canAutoGenMipMaps(), _chooseD3DFormat(), _createDepthStencil(), _freeResources(), _setFinalAttributes(), Except, mAutoGenMipMaps, mBBPixelFormat, mDevCaps, Ogre::Texture::mNumMipMaps, mpCubeTex, mpDev, mpTex, Ogre::Texture::mSrcHeight, Ogre::Texture::mSrcWidth, Ogre::Texture::mUsage, and Ogre::TU_RENDERTARGET.

Referenced by _createTex(), and _loadCubeTex().

void Ogre::D3D9Texture::_createDepthStencil   [private]
 

internal method, create a depth stencil for the render target texture

Definition at line 1276 of file OgreD3D9Texture.cpp.

References _freeResources(), Except, mpDev, mpZBuff, Ogre::Texture::mSrcHeight, Ogre::Texture::mSrcWidth, SAFE_RELEASE, and Ogre::String.

Referenced by _createCubeTex(), and _createNormTex().

void Ogre::D3D9Texture::_createNormTex   [private]
 

internal method, create a blank normal 1D/2D texture

Definition at line 612 of file OgreD3D9Texture.cpp.

References _canAutoGenMipMaps(), _chooseD3DFormat(), _createDepthStencil(), _freeResources(), _setFinalAttributes(), Except, mAutoGenMipMaps, mBBPixelFormat, mDevCaps, Ogre::Texture::mNumMipMaps, mpDev, mpNormTex, mpTex, Ogre::Texture::mSrcHeight, Ogre::Texture::mSrcWidth, Ogre::Texture::mUsage, and Ogre::TU_RENDERTARGET.

Referenced by _createTex(), and loadImage().

void Ogre::D3D9Texture::_createTex   [private]
 

internal method, create a blank texture

Definition at line 591 of file OgreD3D9Texture.cpp.

References _createCubeTex(), _createNormTex(), _freeResources(), Except, Ogre::Texture::getTextureType(), Ogre::Texture::mSrcHeight, Ogre::Texture::mSrcWidth, Ogre::TEX_TYPE_1D, Ogre::TEX_TYPE_2D, and Ogre::TEX_TYPE_CUBE_MAP.

Referenced by D3D9Texture(), and load().

void Ogre::D3D9Texture::_freeResources   [private]
 

internal method, free D3D9 resources

Definition at line 387 of file OgreD3D9Texture.cpp.

References mpCubeTex, mpNormTex, mpTex, mpZBuff, and SAFE_RELEASE.

Referenced by _blitImagesToCubeTex(), _blitImageToNormTex(), _constructCubeFaceNames(), _copyMemoryToSurface(), _createCubeTex(), _createDepthStencil(), _createNormTex(), _createTex(), _loadCubeTex(), _loadNormTex(), _loadVolumeTex(), _setSrcAttributes(), blitToTexture(), load(), and unload().

D3DTEXTUREFILTERTYPE Ogre::D3D9Texture::_getBestFilterMethod   [private]
 

internal method, return the best by hardware supported filter method

Definition at line 906 of file OgreD3D9Texture.cpp.

References mpD3D, mpDev, and mpTex.

Referenced by _blitImagesToCubeTex(), _blitImageToNormTex(), _loadCubeTex(), and blitToTexture().

void Ogre::D3D9Texture::_getColorMasks D3DFORMAT    format,
DWORD *    pdwRed,
DWORD *    pdwGreen,
DWORD *    pdwBlue,
DWORD *    pdwAlpha,
DWORD *    pdwRGBBitCount
[private]
 

internal method, return the color masks for a given format

Definition at line 945 of file OgreD3D9Texture.cpp.

References Except.

Referenced by _copyMemoryToSurface().

String Ogre::D3D9Texture::_getCubeFaceName unsigned char    face const [private]
 

internal method, the cube map face name for the spec. face index

Definition at line 120 of file OgreD3D9Texture.h.

References mCubeFaceNames, and Ogre::String.

D3DFORMAT Ogre::D3D9Texture::_getPF PixelFormat    ogrePF [static, private]
 

internal method, convert Ogre pixel format to D3D9 pixel format

Definition at line 1349 of file OgreD3D9Texture.cpp.

References Ogre::PF_A2R10G10B10, Ogre::PF_A4L4, Ogre::PF_A4R4G4B4, Ogre::PF_A8, Ogre::PF_A8R8G8B8, Ogre::PF_B10G10R10A2, Ogre::PF_B4G4R4A4, Ogre::PF_B5G6R5, Ogre::PF_B8G8R8, Ogre::PF_B8G8R8A8, Ogre::PF_L4A4, Ogre::PF_L8, Ogre::PF_R5G6B5, Ogre::PF_R8G8B8, Ogre::PF_UNKNOWN, and Ogre::PixelFormat.

PixelFormat Ogre::D3D9Texture::_getPF D3DFORMAT    d3dPF [static, private]
 

Create a depth buffer for our render target, it must be of the same format as other targets !!! .

Definition at line 1322 of file OgreD3D9Texture.cpp.

References Ogre::PF_A2R10G10B10, Ogre::PF_A4L4, Ogre::PF_A4R4G4B4, Ogre::PF_A8, Ogre::PF_A8R8G8B8, Ogre::PF_L8, Ogre::PF_R5G6B5, Ogre::PF_R8G8B8, Ogre::PF_UNKNOWN, and Ogre::PixelFormat.

Referenced by _blitImagesToCubeTex(), _blitImageToNormTex(), _loadCubeTex(), _loadNormTex(), _loadVolumeTex(), and blitToTexture().

unsigned short Ogre::D3D9Texture::_getPFBpp PixelFormat    ogrePF [static, private]
 

internal method, return the BPP for the specified format

Definition at line 123 of file OgreD3D9Texture.h.

References Ogre::PixelFormat.

Referenced by _setSrcAttributes().

void Ogre::D3D9Texture::_initMembers   [private]
 

internal method, initialize member vars

Definition at line 757 of file OgreD3D9Texture.cpp.

References mCubeFaceNames, Ogre::Texture::mHeight, Ogre::Resource::mIsLoaded, mpCubeTex, mpD3D, mpDev, mpNormTex, mpTex, mpZBuff, Ogre::Texture::mSrcHeight, Ogre::Texture::mSrcWidth, and Ogre::Texture::mWidth.

Referenced by D3D9Texture().

void Ogre::D3D9Texture::_loadCubeTex   [private]
 

internal method, load a cube texture

Definition at line 395 of file OgreD3D9Texture.cpp.

References _createCubeTex(), _freeResources(), _getBestFilterMethod(), _getPF(), _setFinalAttributes(), _setSrcAttributes(), Except, Ogre::Image::getFormat(), Ogre::Image::getHeight(), Ogre::Resource::getName(), Ogre::DataChunk::getPtr(), Ogre::DataChunk::getSize(), Ogre::Image::getWidth(), Ogre::Image::load(), Ogre::Resource::mIsLoaded, mpCubeTex, mpDev, mpTex, and Ogre::TEX_TYPE_CUBE_MAP.

Referenced by load().

void Ogre::D3D9Texture::_loadNormTex   [private]
 

internal method, load a normal texture

Definition at line 552 of file OgreD3D9Texture.cpp.

References _freeResources(), _getPF(), _setFinalAttributes(), _setSrcAttributes(), Except, Ogre::DataChunk::getPtr(), Ogre::DataChunk::getSize(), Ogre::Texture::getTextureType(), Ogre::Resource::mIsLoaded, mpDev, mpNormTex, mpTex, Ogre::TEX_TYPE_1D, and Ogre::TEX_TYPE_2D.

Referenced by load().

void Ogre::D3D9Texture::_loadVolumeTex   [private]
 

internal method, load a volume texture

Definition at line 513 of file OgreD3D9Texture.cpp.

References _freeResources(), _getPF(), _setFinalAttributes(), _setSrcAttributes(), Except, Ogre::DataChunk::getPtr(), Ogre::DataChunk::getSize(), Ogre::Resource::mIsLoaded, mpDev, mpTex, mpVolumeTex, and Ogre::TEX_TYPE_3D.

Referenced by load().

void Ogre::D3D9Texture::_setDevice IDirect3DDevice9 *    pDev [private]
 

internal method, set the device and fillIn the device caps

Definition at line 773 of file OgreD3D9Texture.cpp.

References Except, mBBPixelFormat, mDevCaps, mDevCreParams, mpD3D, mpDev, and SAFE_RELEASE.

Referenced by D3D9Texture().

void Ogre::D3D9Texture::_setFinalAttributes unsigned long    width,
unsigned long    height,
unsigned long    depth,
PixelFormat    format
[private]
 

internal method, set Texture class final texture protected attributes

Definition at line 838 of file OgreD3D9Texture.cpp.

References Ogre::Texture::mDepth, Ogre::Texture::mFinalBpp, Ogre::Texture::mFormat, Ogre::Texture::mHasAlpha, Ogre::Texture::mHeight, Ogre::Resource::mSize, Ogre::Texture::mSrcHeight, Ogre::Texture::mSrcWidth, Ogre::Texture::mTextureType, Ogre::Texture::mWidth, Ogre::PixelFormat, and Ogre::TEX_TYPE_CUBE_MAP.

Referenced by _createCubeTex(), _createNormTex(), _loadCubeTex(), _loadNormTex(), and _loadVolumeTex().

void Ogre::D3D9Texture::_setSrcAttributes unsigned long    width,
unsigned long    height,
unsigned long    depth,
PixelFormat    format
[private]
 

internal method, set Texture class source image protected attributes

Definition at line 865 of file OgreD3D9Texture.cpp.

References _freeResources(), _getPFBpp(), Except, Ogre::Texture::getTextureType(), Ogre::Texture::mHasAlpha, Ogre::Texture::mNumMipMaps, Ogre::Texture::mSrcBpp, Ogre::Texture::mSrcHeight, Ogre::Texture::mSrcWidth, Ogre::Texture::mUsage, Ogre::PixelFormat, Ogre::TEX_TYPE_1D, Ogre::TEX_TYPE_2D, Ogre::TEX_TYPE_3D, Ogre::TEX_TYPE_CUBE_MAP, and Ogre::TU_RENDERTARGET.

Referenced by _loadCubeTex(), _loadNormTex(), _loadVolumeTex(), D3D9Texture(), and loadImage().

void Ogre::D3D9Texture::blitImage const Image   src,
const Image::Rect    imgRect,
const Image::Rect    texRect
[virtual]
 

overriden from Texture

Reimplemented from Ogre::Texture.

Definition at line 89 of file OgreD3D9Texture.cpp.

References Except.

void Ogre::D3D9Texture::blitToTexture const Image   src,
unsigned    uStartX,
unsigned    uStartY
[virtual]
 

overriden from Texture

Implements Ogre::Texture.

Definition at line 94 of file OgreD3D9Texture.cpp.

References _chooseD3DFormat(), _freeResources(), _getBestFilterMethod(), _getPF(), Except, Ogre::Image::getData(), Ogre::Image::getFormat(), Ogre::Image::getHeight(), Ogre::Image::getWidth(), mpDev, mpNormTex, mpTex, Ogre::Texture::mSrcBpp, Ogre::Texture::mSrcHeight, Ogre::Texture::mSrcWidth, and SAFE_RELEASE.

void Ogre::D3D9Texture::copyToTexture Texture   target [virtual]
 

overriden from Texture

Reimplemented from Ogre::Texture.

Definition at line 228 of file OgreD3D9Texture.cpp.

References Except, getCubeTexture(), Ogre::Texture::getHeight(), getNormTexture(), Ogre::Texture::getTextureType(), Ogre::Texture::getUsage(), Ogre::Texture::getWidth(), mpCubeTex, mpDev, mpNormTex, SAFE_RELEASE, Ogre::String, Ogre::TEX_TYPE_2D, and Ogre::TEX_TYPE_CUBE_MAP.

virtual void Ogre::Resource::destroy void    [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.

Definition at line 137 of file OgreResource.h.

void Ogre::Texture::enable32Bit bool    setting = true [inherited]
 

Definition at line 154 of file OgreTexture.h.

Referenced by Ogre::GLTextureManager::create(), Ogre::D3D9TextureManager::create(), Ogre::D3DTextureManager::create(), Ogre::D3D9TextureManager::createAsRenderTarget(), Ogre::D3DTextureManager::createAsRenderTarget(), Ogre::GLTextureManager::createManual(), Ogre::GLTexture::GLTexture(), Ogre::TextureManager::load(), and Ogre::Texture::Texture().

IDirect3DCubeTexture9* Ogre::D3D9Texture::getCubeTexture  
 

retrieves a pointer to the cube texture

Definition at line 155 of file OgreD3D9Texture.h.

References mpCubeTex.

Referenced by copyToTexture().

unsigned int Ogre::Texture::getDepth void    const [inherited]
 

Returns the depth of the texture (only applicable for 3D textures).

Definition at line 106 of file OgreTexture.h.

IDirect3DSurface9* Ogre::D3D9Texture::getDepthStencil  
 

retrieves a pointer to the Depth stencil

Definition at line 158 of file OgreD3D9Texture.h.

References mpZBuff.

std::pair< uint, uint > Ogre::Texture::getDimensions   const [inherited]
 

Returns both the width and height of the texture.

Definition at line 110 of file OgreTexture.h.

virtual PixelFormat Ogre::Texture::getFormat   const [virtual, inherited]
 

Returns the pixel format for the texture surface.

Definition at line 160 of file OgreTexture.h.

References Ogre::PixelFormat.

Referenced by _blitImagesToCubeTex().

float Ogre::Texture::getGamma void    const [inherited]
 

Returns the gamma adjustment factor applied to this texture.

Definition at line 88 of file OgreTexture.h.

Referenced by loadImage().

ResourceHandle Ogre::Resource::getHandle void    const [inherited]
 

Definition at line 120 of file OgreResource.h.

References Ogre::ResourceHandle.

Referenced by Ogre::Material::clone(), Ogre::BspLevel::loadQuake3Level(), and Ogre::ResourceManager::unload().

unsigned int Ogre::Texture::getHeight void    const [inherited]
 

Returns the height of the texture.

Definition at line 98 of file OgreTexture.h.

Referenced by _blitImagesToCubeTex(), Ogre::D3DTexture::blitImage3D(), copyToTexture(), and Ogre::TextureUnitState::getTextureDimensions().

time_t Ogre::Resource::getLastAccess void    const [inherited]
 

Gets the last time the resource was 'touched'.

Definition at line 108 of file OgreResource.h.

const String& Ogre::Resource::getName void    const [inherited]
 

Gets resource name.

Reimplemented in Ogre::Material, and Ogre::Overlay.

Definition at line 115 of file OgreResource.h.

References Ogre::String.

Referenced by _loadCubeTex(), Ogre::Mesh::_notifySkeleton(), Ogre::ResourceManager::add(), Ogre::PopupMenuGuiElement::addListItem(), Ogre::ListGuiElement::addListItem(), Ogre::PopupMenuGuiElement::addMenuItem(), Ogre::MeshManager::createPrefabPlane(), Ogre::TTYGuiElement::getFontName(), Ogre::TextAreaGuiElement::getFontName(), Ogre::PopupMenuGuiElement::getListItemName(), Ogre::ListGuiElement::getListItemName(), Ogre::GpuProgramUsage::getProgramName(), Ogre::MeshSerializer::importMesh(), Ogre::GLTexture::load(), Ogre::TextureManager::loadImage(), Ogre::TextureManager::loadRawData(), Ogre::FontManager::logBadAttrib(), Ogre::MeshSerializerImpl::readMeshLodInfo(), Ogre::MeshSerializerImpl::readMeshLodUsageGenerated(), Ogre::MeshSerializerImpl::readMeshLodUsageManual(), Ogre::PopupMenuGuiElement::removeListItem(), Ogre::ListGuiElement::removeListItem(), Ogre::SceneManager::setSkyBox(), Ogre::SceneManager::setSkyDome(), and Ogre::ResourceManager::unload().

IDirect3DTexture9* Ogre::D3D9Texture::getNormTexture  
 

retrieves a pointer to the normal 1D/2D texture

Definition at line 152 of file OgreD3D9Texture.h.

References mpNormTex.

Referenced by copyToTexture().

unsigned short Ogre::Texture::getNumMipMaps void    const [inherited]
 

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

Definition at line 78 of file OgreTexture.h.

Referenced by Ogre::GLRenderTexture::_copyToTexture().

virtual size_t Ogre::Resource::getSize void    const [virtual, inherited]
 

Retrieves info about the size of the resource.

Definition at line 93 of file OgreResource.h.

Referenced by Ogre::ResourceManager::unload().

IDirect3DBaseTexture9* Ogre::D3D9Texture::getTexture  
 

retrieves a pointer to the actual texture

Definition at line 149 of file OgreD3D9Texture.h.

References mpTex.

Referenced by Ogre::D3D9RenderSystem::_setTexture().

TextureType Ogre::Texture::getTextureType void    const [inherited]
 

Gets the type of texture.

Definition at line 74 of file OgreTexture.h.

References Ogre::TextureType.

Referenced by _createTex(), _loadNormTex(), _setSrcAttributes(), Ogre::D3D9RenderSystem::_setTexture(), Ogre::D3DRenderSystem::_setTexture(), Ogre::GLTexture::blitToTexture(), copyToTexture(), Ogre::GLTexture::createRenderTexture(), D3D9Texture(), load(), and loadImage().

TextureUsage Ogre::Texture::getUsage void    const [inherited]
 

Returns the TextureUsage indentifier for this Texture.

Definition at line 114 of file OgreTexture.h.

References Ogre::TextureUsage.

Referenced by copyToTexture(), and Ogre::D3DTexture::copyToTexture().

unsigned int Ogre::Texture::getWidth void    const [inherited]
 

Returns the width of the texture.

Definition at line 102 of file OgreTexture.h.

Referenced by _blitImagesToCubeTex(), Ogre::D3DTexture::blitImage3D(), copyToTexture(), and Ogre::TextureUnitState::getTextureDimensions().

virtual bool Ogre::Texture::hasAlpha void    const [virtual, inherited]
 

Returns true if the texture has an alpha layer.

Definition at line 166 of file OgreTexture.h.

Referenced by Ogre::Font::load().

bool Ogre::Resource::isLoaded void    const [inherited]
 

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

Definition at line 127 of file OgreResource.h.

Referenced by Ogre::GpuProgramUsage::_load(), Ogre::SceneManager::deriveShadowCasterPass(), Ogre::SceneManager::deriveShadowReceiverPass(), Ogre::Technique::isLoaded(), load(), unload(), and ~D3D9Texture().

void Ogre::D3D9Texture::load   [virtual]
 

overriden from Resource

Implements Ogre::Resource.

Definition at line 344 of file OgreD3D9Texture.cpp.

References _createTex(), _freeResources(), _loadCubeTex(), _loadNormTex(), _loadVolumeTex(), Except, Ogre::Texture::getTextureType(), Ogre::Resource::isLoaded(), Ogre::Resource::mIsLoaded, Ogre::Texture::mUsage, Ogre::TEX_TYPE_1D, Ogre::TEX_TYPE_2D, Ogre::TEX_TYPE_3D, Ogre::TEX_TYPE_CUBE_MAP, Ogre::TU_RENDERTARGET, and unload().

Referenced by Ogre::D3D9TextureManager::createAsRenderTarget().

void Ogre::D3D9Texture::loadImage const Image   img [virtual]
 

overriden from Texture

Implements Ogre::Texture.

Definition at line 327 of file OgreD3D9Texture.cpp.

References _blitImageToNormTex(), _createNormTex(), _setSrcAttributes(), Ogre::Image::getBPP(), Ogre::Image::getData(), Ogre::Image::getFormat(), Ogre::Texture::getGamma(), Ogre::Image::getHeight(), Ogre::Image::getSize(), Ogre::Texture::getTextureType(), Ogre::Image::getWidth(), Ogre::Resource::mIsLoaded, Ogre::TEX_TYPE_1D, and Ogre::TEX_TYPE_2D.

void Ogre::Texture::loadRawData const DataChunk   pData,
ushort    uWidth,
ushort    uHeight,
PixelFormat    eFormat
[virtual, inherited]
 

Loads the data from the raw memory area.

Definition at line 54 of file OgreTexture.cpp.

References Ogre::Texture::loadImage(), Ogre::Image::loadRawData(), Ogre::PixelFormat, and Ogre::ushort.

Referenced by Ogre::TextureManager::loadRawData().

void Ogre::Texture::setGamma float    g [inherited]
 

Sets the gamma adjustment factor applied to this texture.

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

Definition at line 94 of file OgreTexture.h.

Referenced by Ogre::TextureManager::load(), Ogre::TextureManager::loadImage(), and Ogre::TextureManager::loadRawData().

void Ogre::Texture::setNumMipMaps unsigned short    num [inherited]
 

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

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

Definition at line 84 of file OgreTexture.h.

Referenced by Ogre::TextureManager::load(), Ogre::TextureManager::loadImage(), and Ogre::TextureManager::loadRawData().

virtual void Ogre::Resource::touch void    [virtual, inherited]
 

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

Reimplemented in Ogre::Material.

Definition at line 100 of file OgreResource.h.

Referenced by Ogre::Mesh::clone(), Ogre::MeshManager::createCurvedIllusionPlane(), Ogre::MeshManager::createCurvedPlane(), Ogre::MeshManager::createPlane(), and Ogre::ResourceManager::load().

void Ogre::D3D9Texture::unload   [virtual]
 

overriden from Resource

Reimplemented from Ogre::Resource.

Definition at line 377 of file OgreD3D9Texture.cpp.

References _freeResources(), Ogre::Resource::isLoaded(), and Ogre::Resource::mIsLoaded.

Referenced by load(), and ~D3D9Texture().


Member Data Documentation

bool Ogre::D3D9Texture::mAutoGenMipMaps [private]
 

Definition at line 68 of file OgreD3D9Texture.h.

Referenced by _createCubeTex(), _createNormTex(), and D3D9Texture().

D3DFORMAT Ogre::D3D9Texture::mBBPixelFormat [private]
 

back buffer pixel format

Definition at line 64 of file OgreD3D9Texture.h.

Referenced by _canAutoGenMipMaps(), _createCubeTex(), _createNormTex(), and _setDevice().

String Ogre::D3D9Texture::mCubeFaceNames[6] [private]
 

cube texture individual face names

Definition at line 60 of file OgreD3D9Texture.h.

Referenced by _constructCubeFaceNames(), _getCubeFaceName(), and _initMembers().

unsigned long Ogre::Texture::mDepth [protected, inherited]
 

Definition at line 174 of file OgreTexture.h.

Referenced by _setFinalAttributes(), Ogre::GLTexture::generateMipMaps(), and Ogre::GLTexture::loadImages().

D3DCAPS9 Ogre::D3D9Texture::mDevCaps [private]
 

device capabilities pointer

Definition at line 66 of file OgreD3D9Texture.h.

Referenced by _canAutoGenMipMaps(), _createCubeTex(), _createNormTex(), and _setDevice().

D3DDEVICE_CREATION_PARAMETERS Ogre::D3D9Texture::mDevCreParams [private]
 

device creation parameters

Definition at line 62 of file OgreD3D9Texture.h.

Referenced by _canAutoGenMipMaps(), and _setDevice().

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

Definition at line 185 of file OgreTexture.h.

Referenced by _chooseD3DFormat(), Ogre::D3DTexture::_chooseD3DFormat(), _setFinalAttributes(), Ogre::D3DTexture::blitImage(), Ogre::D3DTexture::blitImage3D(), Ogre::D3DTexture::D3DTexture(), Ogre::D3DTexture::load(), Ogre::D3DTexture::loadImage(), Ogre::D3DTexture::loadImage3D(), and Ogre::GLTexture::loadImages().

PixelFormat Ogre::Texture::mFormat [protected, inherited]
 

Definition at line 180 of file OgreTexture.h.

Referenced by _setFinalAttributes(), Ogre::D3DTexture::D3DTexture(), Ogre::GLTexture::generateMipMaps(), Ogre::D3DTexture::loadImage(), Ogre::D3DTexture::loadImage3D(), Ogre::GLTexture::loadImages(), and Ogre::Texture::Texture().

float Ogre::Texture::mGamma [protected, inherited]
 

Definition at line 177 of file OgreTexture.h.

Referenced by Ogre::D3DTexture::blitImage(), Ogre::D3DTexture::blitImage3D(), and Ogre::GLTexture::rescaleNPower2().

ResourceHandle Ogre::Resource::mHandle [protected, inherited]
 

Definition at line 57 of file OgreResource.h.

Referenced by Ogre::ResourceManager::add(), Ogre::Material::clone(), Ogre::Material::copyDetailsTo(), and Ogre::Material::operator=().

bool Ogre::Texture::mHasAlpha [protected, inherited]
 

Definition at line 186 of file OgreTexture.h.

Referenced by _chooseD3DFormat(), _setFinalAttributes(), _setSrcAttributes(), Ogre::D3DTexture::D3DTexture(), Ogre::GLTexture::generateMipMaps(), Ogre::D3DTexture::loadImage(), Ogre::D3DTexture::loadImage3D(), Ogre::GLTexture::loadImages(), Ogre::GLTexture::rescaleNPower2(), and Ogre::Texture::Texture().

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

Definition at line 172 of file OgreTexture.h.

Referenced by _initMembers(), _setFinalAttributes(), Ogre::GLTexture::createRenderTexture(), Ogre::D3DTexture::createSurface2D(), Ogre::D3DTexture::createSurface3D(), Ogre::GLTexture::generateMipMaps(), Ogre::GLTexture::loadImages(), and Ogre::GLTexture::rescaleNPower2().

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

Definition at line 58 of file OgreResource.h.

Referenced by _initMembers(), _loadCubeTex(), _loadNormTex(), _loadVolumeTex(), Ogre::Material::_notifyNeedsRecompile(), Ogre::Material::clone(), Ogre::D3DTexture::createSurface2D(), Ogre::D3DTexture::createSurface3D(), D3D9Texture(), Ogre::D3DTexture::D3DTexture(), Ogre::DynLib::DynLib(), Ogre::Zip::load(), Ogre::SkeletonInstance::load(), Ogre::Skeleton::load(), Ogre::PatchMesh::load(), Ogre::Mesh::load(), Ogre::Material::load(), Ogre::HighLevelGpuProgram::load(), Ogre::GpuProgram::load(), Ogre::GLTexture::load(), Ogre::GLSLGpuProgram::load(), Ogre::Font::load(), Ogre::DynLib::load(), load(), Ogre::D3D9GpuProgram::load(), Ogre::D3DTexture::load(), Ogre::BspLevel::load(), loadImage(), Ogre::D3DTexture::loadImage(), Ogre::D3DTexture::loadImage3D(), Ogre::GLTexture::loadImages(), Ogre::Material::Material(), Ogre::Material::operator=(), Ogre::Skeleton::unload(), Ogre::Mesh::unload(), Ogre::Material::unload(), Ogre::HighLevelGpuProgram::unload(), Ogre::GLTexture::unload(), Ogre::Font::unload(), Ogre::DynLib::unload(), unload(), Ogre::D3DTexture::unload(), and Ogre::BspLevel::~BspLevel().

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

Definition at line 59 of file OgreResource.h.

Referenced by Ogre::Material::operator=().

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

Definition at line 56 of file OgreResource.h.

Referenced by Ogre::Skeleton::_dumpContents(), Ogre::Mesh::_rationaliseBoneAssignments(), Ogre::GLSLProgram::attachToProgramObject(), Ogre::BspLevel::BspLevel(), Ogre::Mesh::buildEdgeList(), Ogre::Mesh::buildTangentVectors(), Ogre::Material::clone(), Ogre::Material::compile(), Ogre::GLSLProgram::compile(), Ogre::Material::copyDetailsTo(), Ogre::Quake3Shader::createAsMaterial(), Ogre::D3D9HLSLProgram::createLowLevelImpl(), Ogre::CgProgram::createLowLevelImpl(), Ogre::Font::createTextureFromFont(), D3D9Texture(), Ogre::D3DTexture::D3DTexture(), Ogre::DynLib::DynLib(), Ogre::Font::Font(), Ogre::Mesh::generateLodLevels(), Ogre::Material::getBestTechnique(), Ogre::Overlay::getName(), Ogre::Material::getName(), Ogre::GLTexture::GLTexture(), Ogre::GpuProgram::GpuProgram(), Ogre::Zip::load(), Ogre::Skeleton::load(), Ogre::Mesh::load(), Ogre::GLTexture::load(), Ogre::Font::load(), Ogre::DynLib::load(), Ogre::D3DTexture::load(), Ogre::BspLevel::load(), Ogre::D3D9GpuFragmentProgram::loadFromMicrocode(), Ogre::D3D9GpuVertexProgram::loadFromMicrocode(), Ogre::GLSLProgram::loadFromSource(), Ogre::GLArbGpuProgram::loadFromSource(), Ogre::D3D9HLSLProgram::loadFromSource(), Ogre::D3D9GpuProgram::loadFromSource(), Ogre::CgProgram::loadFromSource(), Ogre::GLTexture::loadImages(), Ogre::Material::Material(), Ogre::Mesh::Mesh(), Ogre::Material::operator=(), Ogre::Overlay::Overlay(), Ogre::Quake3Shader::Quake3Shader(), Ogre::CgProgram::selectProfile(), Ogre::Mesh::setSkeletonName(), Ogre::Skeleton::Skeleton(), Ogre::StringResource::StringResource(), Ogre::Texture::Texture(), Ogre::Zip::unload(), Ogre::DynLib::unload(), Ogre::CgProgram::unloadImpl(), and Ogre::Zip::Zip().

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

Definition at line 176 of file OgreTexture.h.

Referenced by _createCubeTex(), _createNormTex(), _setSrcAttributes(), Ogre::GLTexture::createRenderTexture(), Ogre::D3DTexture::createSurface2D(), Ogre::D3DTexture::createSurface3D(), D3D9Texture(), Ogre::D3DTexture::D3DTexture(), Ogre::GLTexture::generateMipMaps(), Ogre::D3DTexture::loadImage(), Ogre::D3DTexture::loadImage3D(), and Ogre::GLTexture::loadImages().

IDirect3DCubeTexture9* Ogre::D3D9Texture::mpCubeTex [private]
 

cubic texture pointer

Definition at line 51 of file OgreD3D9Texture.h.

Referenced by _blitImagesToCubeTex(), _createCubeTex(), _freeResources(), _initMembers(), _loadCubeTex(), copyToTexture(), and getCubeTexture().

IDirect3D9* Ogre::D3D9Texture::mpD3D [private]
 

D3D9 pointer.

Definition at line 47 of file OgreD3D9Texture.h.

Referenced by _canAutoGenMipMaps(), _getBestFilterMethod(), _initMembers(), _setDevice(), and ~D3D9Texture().

IDirect3DDevice9* Ogre::D3D9Texture::mpDev [private]
 

D3DDevice pointer.

Definition at line 45 of file OgreD3D9Texture.h.

Referenced by _blitImagesToCubeTex(), _blitImageToNormTex(), _canAutoGenMipMaps(), _createCubeTex(), _createDepthStencil(), _createNormTex(), _getBestFilterMethod(), _initMembers(), _loadCubeTex(), _loadNormTex(), _loadVolumeTex(), _setDevice(), blitToTexture(), and copyToTexture().

IDirect3DTexture9* Ogre::D3D9Texture::mpNormTex [private]
 

1D/2D normal texture pointer

Definition at line 49 of file OgreD3D9Texture.h.

Referenced by _blitImageToNormTex(), _createNormTex(), _freeResources(), _initMembers(), _loadNormTex(), blitToTexture(), copyToTexture(), and getNormTexture().

IDirect3DBaseTexture9* Ogre::D3D9Texture::mpTex [private]
 

actual texture pointer

Definition at line 57 of file OgreD3D9Texture.h.

Referenced by _blitImagesToCubeTex(), _blitImageToNormTex(), _createCubeTex(), _createNormTex(), _freeResources(), _getBestFilterMethod(), _initMembers(), _loadCubeTex(), _loadNormTex(), _loadVolumeTex(), blitToTexture(), and getTexture().

IDirect3DVolumeTexture9* Ogre::D3D9Texture::mpVolumeTex [private]
 

Volume texture.

Definition at line 53 of file OgreD3D9Texture.h.

Referenced by _loadVolumeTex().

IDirect3DSurface9* Ogre::D3D9Texture::mpZBuff [private]
 

z-buffer for the render surface pointer

Definition at line 55 of file OgreD3D9Texture.h.

Referenced by _createDepthStencil(), _freeResources(), _initMembers(), and getDepthStencil().

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

Definition at line 60 of file OgreResource.h.

Referenced by _setFinalAttributes(), Ogre::D3DTexture::loadImage(), Ogre::D3DTexture::loadImage3D(), Ogre::GLTexture::loadImages(), and Ogre::Material::operator=().

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

Definition at line 183 of file OgreTexture.h.

Referenced by _copyMemoryToSurface(), _setSrcAttributes(), blitToTexture(), Ogre::D3DTexture::D3DTexture(), Ogre::D3DTexture::load(), Ogre::D3DTexture::loadImage(), Ogre::D3DTexture::loadImage3D(), Ogre::GLTexture::loadImages(), Ogre::GLTexture::rescaleNPower2(), and Ogre::Texture::Texture().

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

Definition at line 184 of file OgreTexture.h.

Referenced by _copyMemoryToSurface(), _createCubeTex(), _createDepthStencil(), _createNormTex(), _createTex(), _initMembers(), _setFinalAttributes(), _setSrcAttributes(), blitToTexture(), Ogre::D3DTexture::createSurface2D(), Ogre::D3DTexture::createSurface3D(), Ogre::D3DTexture::D3DTexture(), Ogre::GLTexture::generateMipMaps(), Ogre::D3DTexture::load(), Ogre::D3DTexture::loadImage(), Ogre::D3DTexture::loadImage3D(), Ogre::GLTexture::loadImages(), and Ogre::GLTexture::rescaleNPower2().

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

Definition at line 184 of file OgreTexture.h.

Referenced by _copyMemoryToSurface(), _createCubeTex(), _createDepthStencil(), _createNormTex(), _createTex(), _initMembers(), _setFinalAttributes(), _setSrcAttributes(), blitToTexture(), Ogre::D3DTexture::createSurface2D(), Ogre::D3DTexture::createSurface3D(), Ogre::D3DTexture::D3DTexture(), Ogre::GLTexture::generateMipMaps(), Ogre::D3DTexture::load(), Ogre::D3DTexture::loadImage(), Ogre::D3DTexture::loadImage3D(), Ogre::GLTexture::loadImages(), and Ogre::GLTexture::rescaleNPower2().

TextureType Ogre::Texture::mTextureType [protected, inherited]
 

Definition at line 179 of file OgreTexture.h.

Referenced by _setFinalAttributes(), Ogre::D3DTexture::createSurface(), D3D9Texture(), Ogre::D3DTexture::D3DTexture(), Ogre::GLTexture::generateMipMaps(), Ogre::GLTexture::GLTexture(), Ogre::GLTexture::load(), and Ogre::D3DTexture::load().

TextureUsage Ogre::Texture::mUsage [protected, inherited]
 

Definition at line 181 of file OgreTexture.h.

Referenced by _createCubeTex(), _createNormTex(), _setSrcAttributes(), Ogre::D3DTexture::copyToTexture(), Ogre::D3DTexture::createSurface2D(), Ogre::D3DTexture::createSurface3D(), D3D9Texture(), Ogre::D3DTexture::D3DTexture(), Ogre::GLTexture::GLTexture(), Ogre::GLTexture::load(), load(), and Ogre::D3DTexture::load().

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

Definition at line 173 of file OgreTexture.h.

Referenced by _initMembers(), _setFinalAttributes(), Ogre::GLTexture::createRenderTexture(), Ogre::D3DTexture::createSurface2D(), Ogre::D3DTexture::createSurface3D(), Ogre::GLTexture::generateMipMaps(), Ogre::GLTexture::loadImages(), and Ogre::GLTexture::rescaleNPower2().


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

Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:49:28 2004