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 MStringname () 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

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

Get the name of the texture.

Returns:
The name of the texture
void textureDescription ( MTextureDescription desc) const

Get texture description.

Parameters:
[out]descThe texture description
bool hasAlpha ( ) const

Get whether the texture has an alpha channel.

Returns:
true if the channel exists
MStatus setHasAlpha ( bool  value)

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]valueValue to set property to
Returns:
Status code
Status Codes:
bool hasZeroAlpha ( ) const

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

Returns:
true if such texels exist
MStatus setHasZeroAlpha ( bool  value)

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]valueValue to set property to
Returns:
Status code
Status Codes:
bool hasTransparentAlpha ( ) const

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)

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]valueValue to set property to
Returns:
Status code
Status Codes:
unsigned int bytesPerPixel ( ) const

Get the number of bytes per pixel in the texture.

Returns:
Byte count
void * rawData ( int &  rowPitch,
int &  slicePitch 
) const

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]rowPitchThe row pitch of the data. It represents the number of bytes of one line of the texture data.
[out]slicePitchThe 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 
)

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]pixelDataData to update the texture with
[in]generateMipMapsIndicate 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]rowPitchThe 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:
MStatus update ( const MImage image,
bool  generateMipMaps 
)

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]imageImage containing data to update the texture with
[in]generateMipMapsIndicate 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:
const char * className ( ) [static]

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