- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Examples

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions

# MTexture Class Reference
OpenMayaRender - API module for rendering

This reference page is linked to from the following overview topics: Autodesk Maya 2014, Extension for Autodesk Maya 2013, 2.4 Texture creation and texture manager, 4.2 Lighting Interfaces, 5.2 Accessing Resource Handles and Device Handle.

Search for all occurrences

## Detailed Description

Class which includes texture data.

Examples:

  hwPhongShader.cpp.

`#include <MTextureManager.h>`

List of all members.

## Public Member Functions
void * | resourceHandle () const
| This method allows access to the draw API dependent handle for a texture.
const MString & | name () const
| Get the name of the texture.
void | textureDescription (MTextureDescription &desc) const
| Get texture description.
bool | hasAlpha () const
| Get whether the texture has an alpha channel.
MStatus | setHasAlpha (bool value)
| Specify that the texture has an alpha channel.
bool | hasZeroAlpha () const
| Get whether the texture has any texels with an alpha value of 0.0.
MStatus | setHasZeroAlpha (bool value)
| Specify that the texture has texels with an alpha value of 0.0.
bool | hasTransparentAlpha () const
| Get whether the texture has semi-transparent texels.
MStatus | setHasTransparentAlpha (bool value)
| Specify that the texture has texels with an alpha value greater than or equal to 0.0 and less than 1.0.
unsigned int | bytesPerPixel () const
| Get the number of bytes per pixel in the texture.
void * | rawData (int &rowPitch, int &slicePitch) const
| Get a copy of the raw data mapped to the texture.
MStatus | update (const void *pixelData, bool generateMipMaps, unsigned int rowPitch=0)
| Update the contents of an image with new data.
MStatus | update (const MImage &image, bool generateMipMaps)
| Update the contents of an image with new data.
## Static Public Member Functions
static const char * | className ()
| Returns the name of this class.

## Member Function Documentation

void * resourceHandle | ( |  | ) | const

Search for all occurrences

This method allows access to the draw API dependent handle for a texture.

This handle is owned by the renderer and is provided to allow access to use a texture as a read-only object.

Modifications should never be performed on this texture.

Any modifications to the texture may result in unpredictable stability as the renderer no longer has knowledge of the texture contents.

For OpenGL, a pointer to an OpenGL texture identifier is returned.

For DirectX 10 and higher a pointer to a shader resource view is returned.

Returns:
  A pointer (handle) to the texture if successful, otherwise NULL.

const MString & name | ( |  | ) | const

Search for all occurrences

Get the name of the texture.

Returns:
  The name of the texture

void textureDescription | ( | MTextureDescription & | desc | ) | const

Search for all occurrences

Get texture description.

Parameters:

  [out] | desc | The texture description

bool hasAlpha | ( |  | ) | const

Search for all occurrences

Get whether the texture has an alpha channel.

Returns:
  true if the channel exists

MStatus setHasAlpha | ( | bool | value | ) |

Search for all occurrences

Specify that the texture has an alpha channel.

This will only set a flag indicating this property but will not change the contents of the texture.

Care should be taken as the texture is only tested for this property when it is first loaded in and will not be checked again after this method is called.

Parameters:

  [in] | value | Value to set property to

Returns:
  Status code

Status Codes:
  - MS::kSuccess The property was set.
  - MS::kFailure The property could not be set.

bool hasZeroAlpha | ( |  | ) | const

Search for all occurrences

Get whether the texture has any texels with an alpha value of 0.0.

Returns:
  true if such texels exist

MStatus setHasZeroAlpha | ( | bool | value | ) |

Search for all occurrences

Specify that the texture has texels with an alpha value of 0.0.

This will only set a flag indicating this property but will not change the contents of the texture.

Care should be taken as the texture is only tested for this property when it is first loaded in and will not be checked again after this method is called.

Parameters:

  [in] | value | Value to set property to

Returns:
  Status code

Status Codes:
  - MS::kSuccess The property was set.
  - MS::kFailure The property could not be set.

bool hasTransparentAlpha | ( |  | ) | const

Search for all occurrences

Get whether the texture has semi-transparent texels.

Such texels have an alpha value less than 1.0 and greater than or equal to 0.0.

Returns:
  true if such texels exist

MStatus setHasTransparentAlpha | ( | bool | value | ) |

Search for all occurrences

Specify that the texture has texels with an alpha value greater than or equal to 0.0 and less than 1.0.

This will only set a flag indicating this property but will not change the contents of the texture.

Care should be taken as the texture is only tested for this property when it is first loaded in and will not be checked again after this method is called.

Parameters:

  [in] | value | Value to set property to

Returns:
  Status code

Status Codes:
  - MS::kSuccess The property was set.
  - MS::kFailure The property could not be set.

unsigned int bytesPerPixel | ( |  | ) | const

Search for all occurrences

Get the number of bytes per pixel in the texture.

Returns:
  Byte count

void * rawData | ( | int & | rowPitch,
|  | int & | slicePitch
| ) |  | const

Search for all occurrences

Get a copy of the raw data mapped to the texture.

The caller must deallocate the system memory as the texture itself does not keep any references to it.

Texture arrays and compressed textures cannot currently be accessed with this method.

Parameters:

  [out] | rowPitch | The row pitch of the data. It represents the number of bytes of one line of the texture data.
  [out] | slicePitch | The slice pitch of the data. It represents the number of bytes of the whole texture data.

Returns:
  A pointer to the data, or NULL on failure

MStatus update | ( | const void * | pixelData,
|  | bool | generateMipMaps,
|  | unsigned int | rowPitch = `0`
| ) |  |

Search for all occurrences

Update the contents of an image with new data.

It is the responsibility of the caller to provide data which matches the description of the texture (MTextureDescription).

Texture arrays and compressed textures cannot currently be updated with this method.

Parameters:

  [in] | pixelData | Data to update the texture with
  [in] | generateMipMaps | Indicate if mip-maps levels for the texture be rebuilt. If the texture already contains mip-maps then new mip-maps will be created by default.
  [in] | rowPitch | The row pitch of the incoming data. It represents the number of bytes of one line of data to update the texture. The default value of this argument is 0. This means to use the texture's width * the number of bytes per pixel.

Returns:
  Status code

Status Codes:
  - MS::kSuccess The texture was updated.
  - MS::kFailure The texture could not be added.

MStatus update | ( | const MImage & | image,
|  | bool | generateMipMaps
| ) |  |

Search for all occurrences

Update the contents of an image with new data.

It is the responsibility of the caller to provide data which matches the description of the texture (MTextureDescription). Only MImages with pixel type MPixelType::kByte are currently supported.

Texture arrays and compressed textures cannot currently be updated with this method.

Parameters:

  [in] | image | Image containing data to update the texture with
  [in] | generateMipMaps | Indicate if mip-maps levels for the texture be rebuilt. If the texture already contains mip-maps then new mip-maps will be created by default.

Returns:
  Status code

Status Codes:
  - MS::kSuccess The texture was updated.
  - MS::kFailure The texture could not be added.

const char * className | ( |  | ) | `[static]`

Search for all occurrences

Returns the name of this class.

Returns:
  Name of this class.

MTexture MTexture MTexture MTexture MTexture MTexture MTexture MTexture MTexture MTexture
MTexture MTexture MTexture MTexture MTexture MTexture MTexture MTexture MTexture MTexture