class MHwTextureManager

Jump to documentation

Hardware Texture management (OpenMayaRender) (OpenMayaRender.py)

public members:

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 )

Documentation

This class provides methods for managing hardware texture resources.
Description

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

Functions

MStatus MHwTextureManager:: glBind ( const MObject & fileTextureObject, MImageFileInfo::MHwTextureType & targetType, MImageFileInfo::MImageType )

Description

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

Arguments

  • fileTextureObject the file texture node to bind
  • 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.
  • 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.

Return Value

  • MS::kFailure if the texture cannot be bound, or is incompatible with the specified parameters
  • MS::kSuccess otherwise

MStatus MHwTextureManager:: glBind ( const MPlug & fileTextureConnection, MImageFileInfo::MHwTextureType & targetType, MImageFileInfo::MImageType )

Description

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).

Arguments

  • fileTextureObject the file texture node to bind
  • 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.
  • 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.

Return Value

  • MS::kFailure if the texture cannot be bound, or is incompatible with the specified parameters
  • MS::kSuccess otherwise

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

Description

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.

Arguments

  • fileName the texture file to register
  • hTexture the output handle to a texture entry representing the given file.

Return Value

  • MS::kFailure if the fileName was invalid.
  • MS::kSuccess otherwise.

MStatus MHwTextureManager:: deregisterTextureFile ( const MHwTextureFileHandle& hTexture )

Description

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.

Arguments

  • hTexture the texture handle to release

  • MS::kFailure if the texture handle was invalid.
  • MS::kSuccess otherwise

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

Description

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

Arguments

  • hTexture the texture handle to query
  • fileName the output file name

Return Value

  • MS::kFailure if the texture handle was invalid.
  • MS::kSuccess otherwise

MStatus MHwTextureManager:: glBind ( const MHwTextureFileHandle& hTexture, MImageFileInfo::MHwTextureType & targetType, MImageFileInfo::MImageType )

Description

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).

Arguments

  • hTexture the texture file handle to load
  • 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.
  • 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.

Return Value

  • MS::kFailure if the texture cannot be bound, or is incompatible with the specified parameters
  • MS::kSuccess otherwise

This class has no child classes.


Autodesk® Maya® 2008 © 1997-2007 Autodesk, Inc. All rights reserved. doc++ Copyright