MHwTextureManager Class Reference
[OpenMayaRender - API module for rendering]

#include <MHwTextureManager.h>

List of all members.


Detailed Description

Hardware Texture management.

The MHwTextureManager provides an interface for loading and using hardware textures.


Static Public Member Functions

static MStatus  glBind (const MObject &fileTextureObject, MImageFileInfo::MHwTextureType &targetType, MImageFileInfo::MImageType imageType=MImageFileInfo::kImageTypeUnknown)
static MStatus  glBind (const MPlug &fileTextureConnection, MImageFileInfo::MHwTextureType &targetType, MImageFileInfo::MImageType imageType=MImageFileInfo::kImageTypeUnknown)
static MStatus  registerTextureFile (const MString &fileName, MHwTextureFileHandle &hTexture)
static MStatus  deregisterTextureFile (const MHwTextureFileHandle &hTexture)
static MStatus  textureFile (const MHwTextureFileHandle &hTexture, MString &fileName)
static MStatus  glBind (const MHwTextureFileHandle &hTexture, MImageFileInfo::MHwTextureType &targetType, MImageFileInfo::MImageType imageType=MImageFileInfo::kImageTypeUnknown)

Member Function Documentation

MStatus MHwTextureManager::glBind ( const MObject fileTextureObject,
MImageFileInfo::MHwTextureType targetType,
MImageFileInfo::MImageType  imageType = MImageFileInfo::kImageTypeUnknown  
) [static]

Bind the contents of a file texture node to the currently active OpenGL texture unit.

Parameters:
[in]  fileTextureObject  the file texture node to bind
[in,out]  targetType  the target type of the texture (e.g. 2D, cube map, etc). If the initial value of this argument is anything other than kHwTextureUnknown, this parameter acts as an input to specify the type you require, and the call will fail if the texture can not be bound to this type. If the initial value of this argument is kHwTextureUnknown, this parameter acts as a return value to let you know what type of texture has been bound.
[in]  imageType  the type of information you are expecting in the texture (e.g. color, normal, etc). If specified, this argument may be used to tune mipmap generation.
Returns:
Examples:

MStatus MHwTextureManager::glBind ( const MPlug fileTextureConnection,
MImageFileInfo::MHwTextureType targetType,
MImageFileInfo::MImageType  imageType = MImageFileInfo::kImageTypeUnknown  
) [static]

Bind the contents of a specific file texture node attribute (e.g. color, alpha) to the currently active OpenGL texture unit. As part of this operation, the texture target will also be enabled (i.e. there is no need to call glEnable( targetType) before or after calling this method).

Parameters:
[in]  fileTextureConnection  the file texture node to bind
[in,out]  targetType  the target type of the texture (e.g. 2D, cube map, etc). If the initial value of this argument is anything other than kHwTextureUnknown, this parameter acts as an input to specify the type you require, and the call will fail if the texture can not be bound to this type. If the initial value of this argument is kHwTextureUnknown, this parameter acts as a return value to let you know what type of texture has been bound.
[in]  imageType  the type of information you are expecting in the texture (e.g. color, normal, etc). If specified, this argument may be used to tune mipmap generation.
Returns:

MStatus MHwTextureManager::registerTextureFile ( const MString fileName,
MHwTextureFileHandle &  hTexture  
) [static]

Register a named texture file. Returns a handle to a texture entry in the texture manager. The caller is responsible for calling the associated deregisterTextureFile to avoid leaking memory.

Parameters:
[in]  fileName  the texture file to register
[out]  hTexture  the output handle to a texture entry representing the given file.
Returns:

MStatus MHwTextureManager::deregisterTextureFile ( const MHwTextureFileHandle &  hTexture  )  [static]

Deregisters the given handle to a texture entry in the manager. If there are no other handles to this texture entry, the texture resource will be freed.

This method assumes that a context is already set. Failing to have a valid current context when invoking this method will cause a memory leak.

Parameters:
[in]  hTexture  the texture handle to release
Status Codes:

MStatus MHwTextureManager::textureFile ( const MHwTextureFileHandle &  hTexture,
MString fileName  
) [static]

Return the file name associated with a given texture file handle.

Parameters:
[in]  hTexture  the texture handle to query
[in]  fileName  the output file name
Returns:

MStatus MHwTextureManager::glBind ( const MHwTextureFileHandle &  hTexture,
MImageFileInfo::MHwTextureType targetType,
MImageFileInfo::MImageType  imageType = MImageFileInfo::kImageTypeUnknown  
) [static]

Bind the contents of a specific file to the currently active OpenGL texture unit. As part of this operation, the texture target will also be enabled (i.e. there is no need to call glEnable( targetType) before or after calling this method).

Parameters:
[in]  hTexture  the texture file handle to load
[in,out]  targetType  the target type of the texture (e.g. 2D, cube map, etc). If the initial value of this argument is anything other than kHwTextureUnknown, this parameter acts as an input to specify the type you require, and the call will fail if the texture can not be bound to this type. If the initial value of this argument is kHwTextureUnknown, this parameter acts as a return value to let you know what type of texture has been bound.
[in]  imageType  the type of information you are expecting in the texture (e.g. color, normal, etc). If specified, this argument may be used to tune mipmap generation.
Returns:

Autodesk® Maya® 2011 © 1997-2010 Autodesk, Inc. All rights reserved. Generated with doxygen 1.5.6