Ogre::TextureUnitState Class Reference
Core » Materials

Class representing the state of a single texture unit during a Pass of a Technique, of a Material. More...

`#include <OgreTextureUnitState.h>`

Inheritance diagram for Ogre::TextureUnitState:
[legend]

## Classes

struct | TextureEffect
| Internal structure defining a texture effect. More...
struct | UVWAddressingMode
| Texture addressing mode for each texture coordinate. More...

## Public Types

enum | BindingType { BT_FRAGMENT = 0, BT_VERTEX = 1, BT_GEOMETRY = 2, BT_TESSELATION_HULL = 3, BT_TESSELATION_DOMAIN = 4, BT_COMPUTE = 5 }
| The type of unit to bind the texture settings to. More...
enum | ContentType { CONTENT_NAMED = 0, CONTENT_SHADOW = 1, CONTENT_COMPOSITOR = 2 }
| Enum identifying the type of content this texture unit contains. More...
typedef multimap< TextureEffectType, TextureEffect >::type | EffectMap
| Texture effects in a multimap paired array. More...
enum | EnvMapType { ENV_PLANAR, ENV_CURVED, ENV_REFLECTION, ENV_NORMAL }
| Enumeration to specify type of envmap. More...
enum | TextureAddressingMode { TAM_WRAP, TAM_MIRROR, TAM_CLAMP, TAM_BORDER, TAM_UNKNOWN = 99 }
| Texture addressing modes - default is TAM_WRAP. More...
enum | TextureCubeFace { CUBE_FRONT = 0, CUBE_BACK = 1, CUBE_LEFT = 2, CUBE_RIGHT = 3, CUBE_UP = 4, CUBE_DOWN = 5 }
| Enum identifying the frame indexes for faces of a cube map (not the composite 3D type. More...
enum | TextureEffectType { ET_ENVIRONMENT_MAP, ET_PROJECTIVE_TEXTURE, ET_UVSCROLL, ET_USCROLL, ET_VSCROLL, ET_ROTATE, ET_TRANSFORM }
| Definition of the broad types of texture effect you can apply to a texture unit. More...
enum | TextureTransformType { TT_TRANSLATE_U, TT_TRANSLATE_V, TT_SCALE_U, TT_SCALE_V, TT_ROTATE }
| Useful enumeration when dealing with procedural transforms. More...

## Public Member Functions

| TextureUnitState (Pass *parent)
| Default constructor. More...
| TextureUnitState (Pass *parent, const TextureUnitState &oth)
| TextureUnitState (Pass *parent, const String &texName, unsigned int texCoordSet=0)
| Name-based constructor. More...
| ~TextureUnitState ()
| Default destructor. More...
Controller< Real > * | _getAnimController () const
| Gets the animation controller (as created because of setAnimatedTexture) if it exists. More...
const TexturePtr & | _getTexturePtr (void) const
| Get the texture pointer for the current frame. More...
const TexturePtr & | _getTexturePtr (size_t frame) const
| Get the texture pointer for a given frame. More...
void | _load (void)
| Internal method for loading this object as part of Material::load. More...
void | _notifyNeedsRecompile (void)
| Tells the class that it needs recompilation. More...
void | _notifyParent (Pass *parent)
| Notify this object that its parent has changed. More...
void | _prepare (void)
| Internal method for preparing this object for load, as part of Material::prepare. More...
void | _setTexturePtr (const TexturePtr &texptr)
| Set the texture pointer for the current frame (internal use only!). More...
void | _setTexturePtr (const TexturePtr &texptr, size_t frame)
| Set the texture pointer for a given frame (internal use only!). More...
void | _unload (void)
| Internal method for unloading this object as part of Material::unload. More...
void | _unprepare (void)
| Internal method for undoing the preparation this object as part of Material::unprepare. More...
void | addEffect (TextureEffect &effect)
| Generic method for setting up texture effects. More...
void | addFrameTextureName (const String &name)
| Add a Texture name to the end of the frame container. More...
bool | applyTextureAliases (const AliasTextureNamePairList &aliasList, const bool apply=true)
| Applies texture names to Texture Unit State with matching texture name aliases. More...
size_t | calculateSize (void) const
void | deleteFrameTextureName (const size_t frameNumber)
| Deletes a specific texture frame. More...
const LayerBlendModeEx & | getAlphaBlendMode (void) const
| Get multitexturing alpha blending mode. More...
Real | getAnimationDuration (void) const
| Get the animated-texture animation duration. More...
BindingType | getBindingType (void) const
| Gets the type of unit these texture settings should be bound to. More...
SceneBlendFactor | getColourBlendFallbackDest (void) const
| Get the multipass fallback for colour blending operation destination factor. More...
SceneBlendFactor | getColourBlendFallbackSrc (void) const
| Get the multipass fallback for colour blending operation source factor. More...
const LayerBlendModeEx & | getColourBlendMode (void) const
| Get multitexturing colour blending mode. More...
ContentType | getContentType (void) const
| Get the type of content this TextureUnitState references. More...
unsigned int | getCurrentFrame (void) const
| Gets the active frame in an animated or multi-image texture layer. More...
PixelFormat | getDesiredFormat (void) const
| Gets the desired pixel format when load the texture. More...
const EffectMap & | getEffects (void) const
| Get texture effects in a multimap paired array. More...
const String & | getFrameTextureName (unsigned int frameNumber) const
| Gets the name of the texture associated with a frame number. More...
Real | getGamma () const
| Returns the gamma adjustment factor applied to this texture on loading. More...
bool | getIsAlpha (void) const
| Gets whether this texture is requested to be loaded as alpha if single channel. More...
const String & | getName (void) const
| Get the name of the Texture Unit State. More...
unsigned int | getNumFrames (void) const
| Gets the number of frames for a texture. More...
int | getNumMipmaps (void) const
| Gets how many mipmaps have been requested for the texture. More...
Pass * | getParent (void) const
| Gets the parent Pass object. More...
const String & | getReferencedCompositorName () const
| Gets the name of the compositor that this texture referneces. More...
size_t | getReferencedMRTIndex () const
| Gets the MRT index of the texture in the compositor that this texture references. More...
const String & | getReferencedTextureName () const
| Gets the name of the texture in the compositor that this texture references. More...
const UVWAddressingMode & | getTextureAddressingMode (void) const
| Gets the texture addressing mode for a given coordinate, i.e. More...
unsigned int | getTextureAnisotropy () const
| Get this layer texture anisotropy level. More...
const ColourValue & | getTextureBorderColour (void) const
| Sets the texture border colour. More...
bool | getTextureCompareEnabled () const
CompareFunction | getTextureCompareFunction () const
unsigned int | getTextureCoordSet (void) const
| Gets the index of the set of texture co-ords this layer uses. More...
std::pair< size_t, size_t > | getTextureDimensions (unsigned int frame=0) const
| Returns the width and height of the texture in the given frame. More...
FilterOptions | getTextureFiltering (FilterType ftpye) const
| Get the texture filtering for the given type. More...
float | getTextureMipmapBias (void) const
| Gets the bias value applied to the mipmap calculation. More...
const String & | getTextureName (void) const
| Get the name of current texture image for this layer. More...
const String & | getTextureNameAlias (void) const
| Gets the Texture Name Alias of the Texture Unit. More...
const Radian & | getTextureRotate (void) const
| Get texture rotation effects angle value. More...
const Matrix4 & | getTextureTransform (void) const
| Gets the current texture transformation matrix. More...
TextureType | getTextureType (void) const
| Returns the type of this texture. More...
Real | getTextureUScale (void) const
| Get texture uscale value. More...
Real | getTextureUScroll (void) const
| Get texture uscroll value. More...
Real | getTextureVScale (void) const
| Get texture vscale value. More...
Real | getTextureVScroll (void) const
| Get texture vscroll value. More...
bool | hasViewRelativeTextureCoordinateGeneration (void) const
| Returns whether this unit has texture coordinate generation that depends on the camera. More...
bool | is3D (void) const
| Returns true if this texture layer uses a composite 3D cubic texture. More...
bool | isBlank (void) const
| Determines if this texture layer is currently blank. More...
bool | isCubic (void) const
| Returns true if this texture unit is either a series of 6 2D textures, each in it's own frame, or is a full 3D cube map. More...
bool | isHardwareGammaEnabled () const
| Gets whether this texture will be set up so that on sampling it, hardware gamma correction is applied. More...
bool | isLoaded (void) const
| Is this loaded? More...
bool | isTextureLoadFailing () const
| Tests if the texture associated with this unit has failed to load. More...
void | operator delete (void *ptr)
void | operator delete (void *ptr, void *)
void | operator delete (void *ptr, const char *, int, const char *)
void | operator delete[] (void *ptr)
void | operator delete[] (void *ptr, const char *, int, const char *)
void * | operator new (size_t sz, const char *file, int line, const char *func)
| operator new, with debug line info More...
void * | operator new (size_t sz)
void * | operator new (size_t sz, void *ptr)
| placement operator new More...
void * | operator new[] (size_t sz, const char *file, int line, const char *func)
| array operator new, with debug line info More...
void * | operator new[] (size_t sz)
TextureUnitState & | operator= (const TextureUnitState &oth)
void | removeAllEffects (void)
| Removes all effects applied to this texture layer. More...
void | removeEffect (const TextureEffectType type)
| Removes a single effect applied to this texture layer. More...
void | retryTextureLoad ()
| Tells the unit to retry loading the texture if it had failed to load. More...
void | setAlphaOperation (LayerBlendOperationEx op, LayerBlendSource source1=LBS_TEXTURE, LayerBlendSource source2=LBS_CURRENT, Real arg1=1.0, Real arg2=1.0, Real manualBlend=0.0)
| Sets the alpha operation to be applied to this texture. More...
void | setAnimatedTextureName (const String &name, unsigned int numFrames, Real duration=0)
| Sets the names of the texture images for an animated texture. More...
void | setAnimatedTextureName (const String *const names, unsigned int numFrames, Real duration=0)
| Sets the names of the texture images for an animated texture. More...
void | setBindingType (BindingType bt)
| Sets the type of unit these texture settings should be bound to. More...
void | setBlank (void)
| Sets this texture layer to be blank. More...
void | setColourOperation (const LayerBlendOperation op)
| Determines how this texture layer is combined with the one below it (or the diffuse colour of the geometry if this is layer 0). More...
void | setColourOperationEx (LayerBlendOperationEx op, LayerBlendSource source1=LBS_TEXTURE, LayerBlendSource source2=LBS_CURRENT, const ColourValue &arg1=ColourValue::White, const ColourValue &arg2=ColourValue::White, Real manualBlend=0.0)
| Setting advanced blending options. More...
void | setColourOpMultipassFallback (const SceneBlendFactor sourceFactor, const SceneBlendFactor destFactor)
| Sets the multipass fallback operation for this layer, if you used TextureUnitState::setColourOperationEx and not enough multitexturing hardware is available. More...
void | setCompositorReference (const String &compositorName, const String &textureName, size_t mrtIndex=0)
| Set the compositor reference for this texture unit state. More...
void | setContentType (ContentType ct)
| Set the type of content this TextureUnitState references. More...
void | setCubicTexture (const TexturePtr *const texPtrs, bool forUVW=false)
| Sets this texture layer to use a combination of 6 texture maps, each one relating to a face of a cube. More...
void | setCubicTextureName (const String &name, bool forUVW=false)
| Sets this texture layer to use a combination of 6 texture maps, each one relating to a face of a cube. More...
void | setCubicTextureName (const String *const names, bool forUVW=false)
| Sets this texture layer to use a combination of 6 texture maps, each one relating to a face of a cube. More...
void | setCurrentFrame (unsigned int frameNumber)
| Changes the active frame in an animated or multi-image texture. More...
void | setDesiredFormat (PixelFormat desiredFormat)
| Sets the desired pixel format when load the texture. More...
void | setEnvironmentMap (bool enable, EnvMapType envMapType=ENV_CURVED)
| Turns on/off texture coordinate effect that makes this layer an environment map. More...
void | setFrameTextureName (const String &name, unsigned int frameNumber)
| Sets the name of the texture associated with a frame. More...
void | setGamma (Real gamma)
| Sets the gamma adjustment factor applied to this texture on loading the data. More...
void | setHardwareGammaEnabled (bool enabled)
| Sets whether this texture will be set up so that on sampling it, hardware gamma correction is applied. More...
void | setIsAlpha (bool isAlpha)
| Sets whether this texture is requested to be loaded as alpha if single channel. More...
void | setName (const String &name)
| Set the name of the Texture Unit State. More...
void | setNumMipmaps (int numMipmaps)
| Sets how many mipmaps have been requested for the texture. More...
void | setProjectiveTexturing (bool enabled, const Frustum *projectionSettings=0)
| Enables or disables projective texturing on this texture unit. More...
void | setRotateAnimation (Real speed)
| Sets up an animated texture rotation for this layer. More...
void | setScrollAnimation (Real uSpeed, Real vSpeed)
| Sets up an animated scroll for the texture layer. More...
void | setTexture (const TexturePtr &texPtr)
| Sets this texture layer to use a single texture, given the pointer to the texture to use on this layer. More...
void | setTextureAddressingMode (TextureAddressingMode tam)
| Sets the texture addressing mode, i.e. More...
void | setTextureAddressingMode (TextureAddressingMode u, TextureAddressingMode v, TextureAddressingMode w)
| Sets the texture addressing mode, i.e. More...
void | setTextureAddressingMode (const UVWAddressingMode &uvw)
| Sets the texture addressing mode, i.e. More...
void | setTextureAnisotropy (unsigned int maxAniso)
| Sets the anisotropy level to be used for this texture level. More...
void | setTextureBorderColour (const ColourValue &colour)
| Sets the texture border colour. More...
void | setTextureCompareEnabled (bool enabled)
void | setTextureCompareFunction (CompareFunction function)
void | setTextureCoordSet (unsigned int set)
| Sets the index of the set of texture co-ords this layer uses. More...
void | setTextureFiltering (TextureFilterOptions filterType)
| Set the texture filtering for this unit, using the simplified interface. More...
void | setTextureFiltering (FilterType ftype, FilterOptions opts)
| Set a single filtering option on this texture unit. More...
void | setTextureFiltering (FilterOptions minFilter, FilterOptions magFilter, FilterOptions mipFilter)
| Set a the detailed filtering options on this texture unit. More...
void | setTextureMipmapBias (float bias)
| Sets the bias value applied to the mipmap calculation. More...
void | setTextureName (const String &name, TextureType ttype=TEX_TYPE_2D)
| Sets this texture layer to use a single texture, given the name of the texture to use on this layer. More...
void | setTextureNameAlias (const String &name)
| Set the alias name used for texture frame names. More...
void | setTextureRotate (const Radian &angle)
| Sets the anticlockwise rotation factor applied to texture coordinates. More...
void | setTextureScale (Real uScale, Real vScale)
| Sets the scaling factor applied to texture coordinates. More...
void | setTextureScroll (Real u, Real v)
| Sets the translation offset of the texture, ie scrolls the texture. More...
void | setTextureTransform (const Matrix4 &xform)
| Sets a matrix used to transform any texture coordinates on this layer. More...
void | setTextureUScale (Real value)
| As setTextureScale, but sets only U value. More...
void | setTextureUScroll (Real value)
| As setTextureScroll, but sets only U value. More...
void | setTextureVScale (Real value)
| As setTextureScale, but sets only V value. More...
void | setTextureVScroll (Real value)
| As setTextureScroll, but sets only V value. More...
void | setTransformAnimation (const TextureTransformType ttype, const WaveformType waveType, Real base=0, Real frequency=1, Real phase=0, Real amplitude=1)
| Sets up a general time-relative texture modification effect. More...

## Protected Member Functions

void | createAnimController (void)
| Internal method for creating animation controller. More...
void | createEffectController (TextureEffect &effect)
| Internal method for creating texture effect controller. More...
void | ensureLoaded (size_t frame) const
| Internal method for ensuring the texture for a given frame is loaded. More...
void | ensurePrepared (size_t frame) const
| Internal method for ensuring the texture for a given frame is prepared. More...
void | recalcTextureMatrix (void) const
| Internal method for calculating texture matrix. More...

## Protected Attributes

UVWAddressingMode | mAddressMode
LayerBlendModeEx | mAlphaBlendMode
Controller< Real > * | mAnimController
Real | mAnimDuration
| Duration of animation in seconds. More...
BindingType | mBindingType
| Binding type (fragment or vertex pipeline). More...
ColourValue | mBorderColour
SceneBlendFactor | mColourBlendFallbackDest
SceneBlendFactor | mColourBlendFallbackSrc
LayerBlendModeEx | mColourBlendMode
bool | mCompareEnabled
CompareFunction | mCompareFunc
size_t | mCompositorRefMrtIndex
| The index of the referenced texture if referencing an MRT in a compositor. More...
String | mCompositorRefName
| The data that references the compositor. More...
String | mCompositorRefTexName
ContentType | mContentType
| Content type of texture (normal loaded texture, auto-texture). More...
bool | mCubic
unsigned int | mCurrentFrame
| The current animation frame. More...
PixelFormat | mDesiredFormat
EffectMap | mEffects
vector< TexturePtr >::type | mFramePtrs
vector< String >::type | mFrames
Real | mGamma
bool | mHwGamma
bool | mIsAlpha
bool | mIsDefaultAniso
bool | mIsDefaultFiltering
FilterOptions | mMagFilter
| Texture filtering - magnification. More...
unsigned int | mMaxAniso
| Texture anisotropy. More...
FilterOptions | mMinFilter
| Texture filtering - minification. More...
FilterOptions | mMipFilter
| Texture filtering - mipmapping. More...
float | mMipmapBias
| Mipmap bias (always float, not Real). More...
String | mName
| Optional name for the TUS. More...
Pass * | mParent
bool | mRecalcTexMatrix
Radian | mRotate
Matrix4 | mTexModMatrix
unsigned int | mTextureCoordSetIndex
| Request number of mipmaps. More...
bool | mTextureLoadFailed
String | mTextureNameAlias
| Optional alias for texture frames. More...
int | mTextureSrcMipmaps
TextureType | mTextureType
| Is this a series of 6 2D textures to make up a cube? More...
Real | mUMod
Real | mUScale
Real | mVMod
Real | mVScale

## Friends

class | RenderSystem

## Detailed Description

Class representing the state of a single texture unit during a Pass of a Technique, of a Material.

Remarks
  Texture units are pipelines for retrieving texture data for rendering onto your objects in the world. Using them is common to both the fixed-function and the programmable (vertex and fragment program) pipeline, but some of the settings will only have an effect in the fixed-function pipeline (for example, setting a texture rotation will have no effect if you use the programmable pipeline, because this is overridden by the fragment program). The effect of each setting as regards the 2 pipelines is commented in each setting.

  When I use the term 'fixed-function pipeline' I mean traditional rendering where you do not use vertex or fragment programs (shaders). Programmable pipeline means that for this pass you are using vertex or fragment programs.

Definition at line 62 of file OgreTextureUnitState.h.

## Member Typedef Documentation

## EffectMap

typedef multimap<TextureEffectType, TextureEffect>::type Ogre::TextureUnitState::EffectMap

Texture effects in a multimap paired array.

Definition at line 175 of file OgreTextureUnitState.h.

## Member Enumeration Documentation

## BindingType

enum Ogre::TextureUnitState::BindingType

The type of unit to bind the texture settings to.

Enumerator
BT_FRAGMENT | Regular fragment processing unit - the default.
BT_VERTEX | Vertex processing unit - indicates this unit will be used for a vertex texture fetch.
BT_GEOMETRY | Geometry processing unit.
BT_TESSELATION_HULL | Tesselation control processing unit.
BT_TESSELATION_DOMAIN | Tesselation evaluation processing unit.
BT_COMPUTE | Compute processing unit.

Definition at line 468 of file OgreTextureUnitState.h.

## ContentType

enum Ogre::TextureUnitState::ContentType

Enum identifying the type of content this texture unit contains.

Enumerator
CONTENT_NAMED | Normal texture identified by name.
CONTENT_SHADOW | A shadow texture, automatically bound by engine.
CONTENT_COMPOSITOR | A compositor texture, automatically linked to active viewport's chain.

Definition at line 487 of file OgreTextureUnitState.h.

## EnvMapType

enum Ogre::TextureUnitState::EnvMapType

Enumeration to specify type of envmap.

Note
  Note that these have no effect when using the programmable pipeline, since their effect is overridden by the vertex / fragment programs.

Enumerator
ENV_PLANAR | Envmap based on vector from camera to vertex position, good for planar geometry.
ENV_CURVED | Envmap based on dot of vector from camera to vertex and vertex normal, good for curves.
ENV_REFLECTION | Envmap intended to supply reflection vectors for cube mapping.
ENV_NORMAL | Envmap intended to supply normal vectors for cube mapping.

Definition at line 95 of file OgreTextureUnitState.h.

## TextureAddressingMode

enum Ogre::TextureUnitState::TextureAddressingMode

Texture addressing modes - default is TAM_WRAP.

Note
  These settings are relevant in both the fixed-function and the programmable pipeline.

Enumerator
TAM_WRAP | Texture wraps at values over 1.0.
TAM_MIRROR | Texture mirrors (flips) at joins over 1.0.
TAM_CLAMP | Texture clamps at 1.0.
TAM_BORDER | Texture coordinates outside the range [0.0, 1.0] are set to the border colour.
TAM_UNKNOWN | Unknown.

Definition at line 126 of file OgreTextureUnitState.h.

## TextureCubeFace

enum Ogre::TextureUnitState::TextureCubeFace

Enum identifying the frame indexes for faces of a cube map (not the composite 3D type.

Enumerator
CUBE_FRONT |
CUBE_BACK |
CUBE_LEFT |
CUBE_RIGHT |
CUBE_UP |
CUBE_DOWN |

Definition at line 148 of file OgreTextureUnitState.h.

## TextureEffectType

enum Ogre::TextureUnitState::TextureEffectType

Definition of the broad types of texture effect you can apply to a texture unit.

Note
  Note that these have no effect when using the programmable pipeline, since their effect is overridden by the vertex / fragment programs.

Enumerator
ET_ENVIRONMENT_MAP | Generate all texture coords based on angle between camera and vertex.
ET_PROJECTIVE_TEXTURE | Generate texture coords based on a frustum.
ET_UVSCROLL | Constant u/v scrolling effect.
ET_USCROLL | Constant u scrolling effect.
ET_VSCROLL | Constant u/v scrolling effect.
ET_ROTATE | Constant rotation.
ET_TRANSFORM | More complex transform.

Definition at line 71 of file OgreTextureUnitState.h.

## TextureTransformType

enum Ogre::TextureUnitState::TextureTransformType

Useful enumeration when dealing with procedural transforms.

Note
  Note that these have no effect when using the programmable pipeline, since their effect is overridden by the vertex / fragment programs.

Enumerator
TT_TRANSLATE_U |
TT_TRANSLATE_V |
TT_SCALE_U |
TT_SCALE_V |
TT_ROTATE |

Definition at line 112 of file OgreTextureUnitState.h.

## Constructor & Destructor Documentation

## TextureUnitState() [1/3]

Ogre::TextureUnitState::TextureUnitState | ( | Pass * | parent | ) |

Default constructor.

## TextureUnitState() [2/3]

Ogre::TextureUnitState::TextureUnitState | ( | Pass * | parent,
|  | const TextureUnitState & | oth
| ) |  |

## ~TextureUnitState()

Ogre::TextureUnitState::~TextureUnitState | ( |  | ) |

Default destructor.

## TextureUnitState() [3/3]

Ogre::TextureUnitState::TextureUnitState | ( | Pass * | parent,
|  | const String & | texName,
|  | unsigned int | texCoordSet = `0`
| ) |  |

Name-based constructor.

Parameters

  texName | The basic name of the texture e.g. brickwall.jpg, stonefloor.png.
  texCoordSet | The index of the texture coordinate set to use.

## Member Function Documentation

## _getAnimController()

Controller<Real>* Ogre::TextureUnitState::_getAnimController | ( |  | ) | const

Gets the animation controller (as created because of setAnimatedTexture) if it exists.

Definition at line 1212 of file OgreTextureUnitState.h.

## _getTexturePtr() [1/2]

const TexturePtr& Ogre::TextureUnitState::_getTexturePtr | ( | void |  | ) | const

Get the texture pointer for the current frame.

## _getTexturePtr() [2/2]

const TexturePtr& Ogre::TextureUnitState::_getTexturePtr | ( | size_t | frame | ) | const

Get the texture pointer for a given frame.

## _load()

void Ogre::TextureUnitState::_load | ( | void |  | ) |

Internal method for loading this object as part of Material::load.

## _notifyNeedsRecompile()

void Ogre::TextureUnitState::_notifyNeedsRecompile | ( | void |  | ) |

Tells the class that it needs recompilation.

## _notifyParent()

void Ogre::TextureUnitState::_notifyParent | ( | Pass * | parent | ) |

Notify this object that its parent has changed.

## _prepare()

void Ogre::TextureUnitState::_prepare | ( | void |  | ) |

Internal method for preparing this object for load, as part of Material::prepare.

## _setTexturePtr() [1/2]

void Ogre::TextureUnitState::_setTexturePtr | ( | const TexturePtr & | texptr | ) |

Set the texture pointer for the current frame (internal use only!).

## _setTexturePtr() [2/2]

void Ogre::TextureUnitState::_setTexturePtr | ( | const TexturePtr & | texptr,
|  | size_t | frame
| ) |  |

Set the texture pointer for a given frame (internal use only!).

## _unload()

void Ogre::TextureUnitState::_unload | ( | void |  | ) |

Internal method for unloading this object as part of Material::unload.

## _unprepare()

void Ogre::TextureUnitState::_unprepare | ( | void |  | ) |

Internal method for undoing the preparation this object as part of Material::unprepare.

## addEffect()

void Ogre::TextureUnitState::addEffect | ( | TextureEffect & | effect | ) |

Generic method for setting up texture effects.

Remarks
  Allows you to specify effects directly by using the TextureEffectType enumeration. The arguments that go with it depend on the effect type. Only one effect of each type can be applied to a texture layer.

  This method is used internally by Ogre but it is better generally for applications to use the more intuitive specialised methods such as setEnvironmentMap and setScroll.

Note
  This option has no effect in the programmable pipeline.

## addFrameTextureName()

void Ogre::TextureUnitState::addFrameTextureName | ( | const String & | name | ) |

Add a Texture name to the end of the frame container.

Parameters

  name | The name of the texture.

Note
  Applies to both fixed-function and programmable pipeline.

## applyTextureAliases()

bool Ogre::TextureUnitState::applyTextureAliases | ( | const AliasTextureNamePairList & | aliasList,
|  | const bool | apply = `true`
| ) |  |

Applies texture names to Texture Unit State with matching texture name aliases.

If no matching aliases are found then the TUS state does not change.

Remarks
  Cubic, 1d, 2d, and 3d textures are determined from current state of the Texture Unit. Assumes animated frames are sequentially numbered in the name. If matching texture aliases are found then true is returned.

Parameters

  aliasList | A map container of texture alias, texture name pairs.
  apply | Set `true` to apply the texture aliases else just test to see if texture alias matches are found.

Returns
  True if matching texture aliases were found in the Texture Unit State.

## calculateSize()

size_t Ogre::TextureUnitState::calculateSize | ( | void |  | ) | const

## createAnimController()

void Ogre::TextureUnitState::createAnimController | ( | void |  | ) |

protected

Internal method for creating animation controller.

## createEffectController()

void Ogre::TextureUnitState::createEffectController | ( | TextureEffect & | effect | ) |

protected

Internal method for creating texture effect controller.

## deleteFrameTextureName()

void Ogre::TextureUnitState::deleteFrameTextureName | ( | const size_t | frameNumber | ) |

Deletes a specific texture frame.

The texture used is not deleted but the texture will no longer be used by the Texture Unit. An exception is raised if the frame number exceeds the number of actual frames.

Parameters

  frameNumber | The frame number of the texture to be deleted.

Note
  Applies to both fixed-function and programmable pipeline.

## ensureLoaded()

void Ogre::TextureUnitState::ensureLoaded | ( | size_t | frame | ) | const

protected

Internal method for ensuring the texture for a given frame is loaded.

## ensurePrepared()

void Ogre::TextureUnitState::ensurePrepared | ( | size_t | frame | ) | const

protected

Internal method for ensuring the texture for a given frame is prepared.

## getAlphaBlendMode()

const LayerBlendModeEx& Ogre::TextureUnitState::getAlphaBlendMode | ( | void |  | ) | const

Get multitexturing alpha blending mode.

## getAnimationDuration()

Real Ogre::TextureUnitState::getAnimationDuration | ( | void |  | ) | const

Get the animated-texture animation duration.

## getBindingType()

BindingType Ogre::TextureUnitState::getBindingType | ( | void |  | ) | const

Gets the type of unit these texture settings should be bound to.

## getColourBlendFallbackDest()

SceneBlendFactor Ogre::TextureUnitState::getColourBlendFallbackDest | ( | void |  | ) | const

Get the multipass fallback for colour blending operation destination factor.

## getColourBlendFallbackSrc()

SceneBlendFactor Ogre::TextureUnitState::getColourBlendFallbackSrc | ( | void |  | ) | const

Get the multipass fallback for colour blending operation source factor.

## getColourBlendMode()

const LayerBlendModeEx& Ogre::TextureUnitState::getColourBlendMode | ( | void |  | ) | const

Get multitexturing colour blending mode.

## getContentType()

ContentType Ogre::TextureUnitState::getContentType | ( | void |  | ) | const

Get the type of content this TextureUnitState references.

## getCurrentFrame()

unsigned int Ogre::TextureUnitState::getCurrentFrame | ( | void |  | ) | const

Gets the active frame in an animated or multi-image texture layer.

Note
  Applies to both fixed-function and programmable pipeline.

## getDesiredFormat()

PixelFormat Ogre::TextureUnitState::getDesiredFormat | ( | void |  | ) | const

Gets the desired pixel format when load the texture.

## getEffects()

const EffectMap& Ogre::TextureUnitState::getEffects | ( | void |  | ) | const

Get texture effects in a multimap paired array.

## getFrameTextureName()

const String& Ogre::TextureUnitState::getFrameTextureName | ( | unsigned int | frameNumber | ) | const

Gets the name of the texture associated with a frame number.

Throws an exception if frameNumber exceeds the number of stored frames.

Note
  Applies to both fixed-function and programmable pipeline.

## getGamma()

Real Ogre::TextureUnitState::getGamma | ( |  | ) | const

Returns the gamma adjustment factor applied to this texture on loading.

Definition at line 566 of file OgreTextureUnitState.h.

## getIsAlpha()

bool Ogre::TextureUnitState::getIsAlpha | ( | void |  | ) | const

Gets whether this texture is requested to be loaded as alpha if single channel.

## getName()

const String& Ogre::TextureUnitState::getName | ( | void |  | ) | const

Get the name of the Texture Unit State.

Definition at line 1167 of file OgreTextureUnitState.h.

## getNumFrames()

unsigned int Ogre::TextureUnitState::getNumFrames | ( | void |  | ) | const

Gets the number of frames for a texture.

Note
  Applies to both fixed-function and programmable pipeline.

## getNumMipmaps()

int Ogre::TextureUnitState::getNumMipmaps | ( | void |  | ) | const

Gets how many mipmaps have been requested for the texture.

## getParent()

Pass* Ogre::TextureUnitState::getParent | ( | void |  | ) | const

Gets the parent Pass object.

Definition at line 1142 of file OgreTextureUnitState.h.

## getReferencedCompositorName()

const String& Ogre::TextureUnitState::getReferencedCompositorName | ( |  | ) | const

Gets the name of the compositor that this texture referneces.

Definition at line 1135 of file OgreTextureUnitState.h.

## getReferencedMRTIndex()

size_t Ogre::TextureUnitState::getReferencedMRTIndex | ( |  | ) | const

Gets the MRT index of the texture in the compositor that this texture references.

Definition at line 1139 of file OgreTextureUnitState.h.

## getReferencedTextureName()

const String& Ogre::TextureUnitState::getReferencedTextureName | ( |  | ) | const

Gets the name of the texture in the compositor that this texture references.

Definition at line 1137 of file OgreTextureUnitState.h.

## getTextureAddressingMode()

const UVWAddressingMode& Ogre::TextureUnitState::getTextureAddressingMode | ( | void |  | ) | const

Gets the texture addressing mode for a given coordinate, i.e.

what happens at uv values above 1.0.

Note
  The default is TAM_WRAP i.e. the texture repeats over values of 1.0.

## getTextureAnisotropy()

unsigned int Ogre::TextureUnitState::getTextureAnisotropy | ( |  | ) | const

Get this layer texture anisotropy level.

## getTextureBorderColour()

const ColourValue& Ogre::TextureUnitState::getTextureBorderColour | ( | void |  | ) | const

Sets the texture border colour.

Note
  The default is ColourValue::Black, and this value only used when addressing mode is TAM_BORDER.

## getTextureCompareEnabled()

bool Ogre::TextureUnitState::getTextureCompareEnabled | ( |  | ) | const

## getTextureCompareFunction()

CompareFunction Ogre::TextureUnitState::getTextureCompareFunction | ( |  | ) | const

## getTextureCoordSet()

unsigned int Ogre::TextureUnitState::getTextureCoordSet | ( | void |  | ) | const

Gets the index of the set of texture co-ords this layer uses.

Note
  Only applies to the fixed function pipeline and has no effect if a fragment program is used.

## getTextureDimensions()

std::pair< size_t, size_t > Ogre::TextureUnitState::getTextureDimensions | ( | unsigned int | frame = `0` | ) | const

Returns the width and height of the texture in the given frame.

## getTextureFiltering()

FilterOptions Ogre::TextureUnitState::getTextureFiltering | ( | FilterType | ftpye | ) | const

Get the texture filtering for the given type.

## getTextureMipmapBias()

float Ogre::TextureUnitState::getTextureMipmapBias | ( | void |  | ) | const

Gets the bias value applied to the mipmap calculation.

See also
  TextureUnitState::setTextureMipmapBias

Definition at line 1120 of file OgreTextureUnitState.h.

## getTextureName()

const String& Ogre::TextureUnitState::getTextureName | ( | void |  | ) | const

Get the name of current texture image for this layer.

Remarks
  This will either always be a single name for this layer, or will be the name of the current frame for an animated or otherwise multi-frame texture.

Note
  Applies to both fixed-function and programmable pipeline.

## getTextureNameAlias()

const String& Ogre::TextureUnitState::getTextureNameAlias | ( | void |  | ) | const

Gets the Texture Name Alias of the Texture Unit.

Definition at line 1176 of file OgreTextureUnitState.h.

## getTextureRotate()

const Radian& Ogre::TextureUnitState::getTextureRotate | ( | void |  | ) | const

Get texture rotation effects angle value.

## getTextureTransform()

const Matrix4& Ogre::TextureUnitState::getTextureTransform | ( | void |  | ) | const

Gets the current texture transformation matrix.

Remarks
  Causes a reclaculation of the matrix if any parameters have been changed via setTextureScroll, setTextureScale and setTextureRotate.

Note
  Has no effect in the programmable pipeline.

## getTextureType()

TextureType Ogre::TextureUnitState::getTextureType | ( | void |  | ) | const

Returns the type of this texture.

Note
  Applies to both fixed-function and programmable pipeline.

## getTextureUScale()

Real Ogre::TextureUnitState::getTextureUScale | ( | void |  | ) | const

Get texture uscale value.

## getTextureUScroll()

Real Ogre::TextureUnitState::getTextureUScroll | ( | void |  | ) | const

Get texture uscroll value.

## getTextureVScale()

Real Ogre::TextureUnitState::getTextureVScale | ( | void |  | ) | const

Get texture vscale value.

## getTextureVScroll()

Real Ogre::TextureUnitState::getTextureVScroll | ( | void |  | ) | const

Get texture vscroll value.

## hasViewRelativeTextureCoordinateGeneration()

bool Ogre::TextureUnitState::hasViewRelativeTextureCoordinateGeneration | ( | void |  | ) | const

Returns whether this unit has texture coordinate generation that depends on the camera.

## is3D()

bool Ogre::TextureUnitState::is3D | ( | void |  | ) | const

Returns true if this texture layer uses a composite 3D cubic texture.

Note
  Applies to both fixed-function and programmable pipeline.

## isBlank()

bool Ogre::TextureUnitState::isBlank | ( | void |  | ) | const

Determines if this texture layer is currently blank.

Note
  This can happen if a texture fails to load or some other non-fatal error. Worth checking after setting texture name.

## isCubic()

bool Ogre::TextureUnitState::isCubic | ( | void |  | ) | const

Returns true if this texture unit is either a series of 6 2D textures, each in it's own frame, or is a full 3D cube map.

You can tell which by checking getTextureType.

Note
  Applies to both fixed-function and programmable pipeline.

## isHardwareGammaEnabled()

bool Ogre::TextureUnitState::isHardwareGammaEnabled | ( |  | ) | const

Gets whether this texture will be set up so that on sampling it, hardware gamma correction is applied.

## isLoaded()

bool Ogre::TextureUnitState::isLoaded | ( | void |  | ) | const

Is this loaded?

## isTextureLoadFailing()

bool Ogre::TextureUnitState::isTextureLoadFailing | ( |  | ) | const

Tests if the texture associated with this unit has failed to load.

Definition at line 1042 of file OgreTextureUnitState.h.

## operator delete() [1/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) |

inherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

## operator delete() [2/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |
| ) |  |

inherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

## operator delete() [3/3]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |
| ) |  |

inherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

## operator delete[]() [1/2]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) |

inherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

## operator delete[]() [2/2]

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |
| ) |  |

inherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

## operator new() [1/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func
| ) |  |

inherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

## operator new() [2/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) |

inherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

## operator new() [3/3]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | void * | ptr
| ) |  |

inherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

## operator new[]() [1/2]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func
| ) |  |

inherited

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

## operator new[]() [2/2]

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) |

inherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

## operator=()

TextureUnitState& Ogre::TextureUnitState::operator= | ( | const TextureUnitState & | oth | ) |

## recalcTextureMatrix()

void Ogre::TextureUnitState::recalcTextureMatrix | ( | void |  | ) | const

protected

Internal method for calculating texture matrix.

## removeAllEffects()

void Ogre::TextureUnitState::removeAllEffects | ( | void |  | ) |

Removes all effects applied to this texture layer.

## removeEffect()

void Ogre::TextureUnitState::removeEffect | ( | const TextureEffectType | type | ) |

Removes a single effect applied to this texture layer.

Note
  Because you can only have 1 effect of each type (e.g. 1 texture coordinate generation) applied to a layer, only the effect type is required.

## retryTextureLoad()

void Ogre::TextureUnitState::retryTextureLoad | ( |  | ) |

Tells the unit to retry loading the texture if it had failed to load.

Definition at line 1046 of file OgreTextureUnitState.h.

## setAlphaOperation()

void Ogre::TextureUnitState::setAlphaOperation | ( | LayerBlendOperationEx | op,
|  | LayerBlendSource | source1 = `LBS_TEXTURE`,
|  | LayerBlendSource | source2 = `LBS_CURRENT`,
|  | Real | arg1 = `1.0`,
|  | Real | arg2 = `1.0`,
|  | Real | manualBlend = `0.0`
| ) |  |

Sets the alpha operation to be applied to this texture.

Remarks
  This works in exactly the same way as setColourOperation, except that the effect is applied to the level of alpha (i.e. transparency) of the texture rather than its colour. When the alpha of a texel (a pixel on a texture) is 1.0, it is opaque, whereas it is fully transparent if the alpha is 0.0. Please refer to the setColourOperation method for more info.

Parameters

  op | The operation to be used, e.g. modulate (multiply), add, subtract
  source1 | The source of the first alpha value to the operation e.g. texture alpha
  source2 | The source of the second alpha value to the operation e.g. current surface alpha
  arg1 | Manually supplied alpha value (only required if source1 = LBS_MANUAL)
  arg2 | Manually supplied alpha value (only required if source2 = LBS_MANUAL)
  manualBlend | Manually supplied 'blend' value - only required for operations which require manual blend e.g. LBX_BLEND_MANUAL

See also
  setColourOperation

Note
  This option has no effect in the programmable pipeline.

## setAnimatedTextureName() [1/2]

void Ogre::TextureUnitState::setAnimatedTextureName | ( | const String & | name,
|  | unsigned int | numFrames,
|  | Real | duration = `0`
| ) |  |

Sets the names of the texture images for an animated texture.

Remarks
  Animated textures are just a series of images making up the frames of the animation. All the images must be the same size, and their names must have a frame number appended before the extension, e.g. if you specify a name of "wall.jpg" with 3 frames, the image names must be "wall_0.jpg", "wall_1.jpg" and "wall_2.jpg".

  You can change the active frame on a texture layer by calling the setCurrentFrame method.

Note
  If you can't make your texture images conform to the naming standard laid out here, you can call the alternative setAnimatedTextureName method which takes an array of names instead.
  Applies to both fixed-function and programmable pipeline.

Parameters

  name | The base name of the textures to use e.g. wall.jpg for frames wall_0.jpg, wall_1.jpg etc.
  numFrames | The number of frames in the sequence.
  duration | The length of time it takes to display the whole animation sequence, in seconds. If 0, no automatic transition occurs.

## setAnimatedTextureName() [2/2]

void Ogre::TextureUnitState::setAnimatedTextureName | ( | const String *const | names,
|  | unsigned int | numFrames,
|  | Real | duration = `0`
| ) |  |

Sets the names of the texture images for an animated texture.

Remarks
  This an alternative method to the one where you specify a single name and let the system derive the names of each frame, incase your images can't conform to this naming standard.

  Animated textures are just a series of images making up the frames of the animation. All the images must be the same size, and you must provide their names as an array in the first parameter. You can change the active frame on a texture layer by calling the setCurrentFrame method.

Note
  If you can make your texture images conform to a naming standard of basicName_frame.ext, you can call the alternative setAnimatedTextureName method which just takes a base name instead.
  Applies to both fixed-function and programmable pipeline.

Parameters

  names | Pointer to array of names of the textures to use, in frame order.
  numFrames | The number of frames in the sequence.
  duration | The length of time it takes to display the whole animation sequence, in seconds. If 0, no automatic transition occurs.

## setBindingType()

void Ogre::TextureUnitState::setBindingType | ( | BindingType | bt | ) |

Sets the type of unit these texture settings should be bound to.

Remarks
  Some render systems, when implementing vertex texture fetch, separate the binding of textures for use in the vertex program versus those used in fragment programs. This setting allows you to target the vertex processing unit with a texture binding, in those cases. For rendersystems which have a unified binding for the vertex and fragment units, this setting makes no difference.

## setBlank()

void Ogre::TextureUnitState::setBlank | ( | void |  | ) |

Sets this texture layer to be blank.

## setColourOperation()

void Ogre::TextureUnitState::setColourOperation | ( | const LayerBlendOperation | op | ) |

Determines how this texture layer is combined with the one below it (or the diffuse colour of the geometry if this is layer 0).

Remarks
  This method is the simplest way to blend tetxure layers, because it requires only one parameter, gives you the most common blending types, and automatically sets up 2 blending methods: one for if single-pass multitexturing hardware is available, and another for if it is not and the blending must be achieved through multiple rendering passes. It is, however, quite limited and does not expose the more flexible multitexturing operations, simply because these can't be automatically supported in multipass fallback mode. If want to use the fancier options, use TextureUnitState::setColourOperationEx, but you'll either have to be sure that enough multitexturing units will be available, or you should explicitly set a fallback using TextureUnitState::setColourOpMultipassFallback.

Note
  The default method is LBO_MODULATE for all layers.
  This option has no effect in the programmable pipeline.

Parameters

  op | One of the LayerBlendOperation enumerated blending types.

## setColourOperationEx()

void Ogre::TextureUnitState::setColourOperationEx | ( | LayerBlendOperationEx | op,
|  | LayerBlendSource | source1 = `LBS_TEXTURE`,
|  | LayerBlendSource | source2 = `LBS_CURRENT`,
|  | const ColourValue & | arg1 = `ColourValue::White`,
|  | const ColourValue & | arg2 = `ColourValue::White`,
|  | Real | manualBlend = `0.0`
| ) |  |

Setting advanced blending options.

Remarks
  This is an extended version of the TextureUnitState::setColourOperation method which allows extremely detailed control over the blending applied between this and earlier layers. See the IMPORTANT note below about the issues between mulitpass and multitexturing that using this method can create.

  Texture colour operations determine how the final colour of the surface appears when rendered. Texture units are used to combine colour values from various sources (ie. the diffuse colour of the surface from lighting calculations, combined with the colour of the texture). This method allows you to specify the 'operation' to be used, ie. the calculation such as adds or multiplies, and which values to use as arguments, such as a fixed value or a value from a previous calculation.

  The defaults for each layer are:
  - op = LBX_MODULATE
  - source1 = LBS_TEXTURE
  - source2 = LBS_CURRENT
  ie. each layer takes the colour results of the previous layer, and multiplies them with the new texture being applied. Bear in mind that colours are RGB values from 0.0 - 1.0 so multiplying them together will result in values in the same range, 'tinted' by the multiply. Note however that a straight multiply normally has the effect of darkening the textures - for this reason there are brightening operations like LBO_MODULATE_X2. See the LayerBlendOperation and LayerBlendSource enumerated types for full details.

Note
  Because of the limitations on some underlying APIs (Direct3D included) the LBS_TEXTURE argument can only be used as the first argument, not the second.

  The final 3 parameters are only required if you decide to pass values manually into the operation, i.e. you want one or more of the inputs to the colour calculation to come from a fixed value that you supply. Hence you only need to fill these in if you supply LBS_MANUAL to the corresponding source, or use the LBX_BLEND_MANUAL operation.

Warning
  Ogre tries to use multitexturing hardware to blend texture layers together. However, if it runs out of texturing units (e.g. 2 of a GeForce2, 4 on a GeForce3) it has to fall back on multipass rendering, i.e. rendering the same object multiple times with different textures. This is both less efficient and there is a smaller range of blending operations which can be performed. For this reason, if you use this method you MUST also call TextureUnitState::setColourOpMultipassFallback to specify which effect you want to fall back on if sufficient hardware is not available.

Note
  This has no effect in the programmable pipeline.

  If you wish to avoid having to do this, use the simpler TextureUnitState::setColourOperation method which allows less flexible blending options but sets up the multipass fallback automatically, since it only allows operations which have direct multipass equivalents.

Parameters

  op | The operation to be used, e.g. modulate (multiply), add, subtract.
  source1 | The source of the first colour to the operation e.g. texture colour.
  source2 | The source of the second colour to the operation e.g. current surface colour.
  arg1 | Manually supplied colour value (only required if source1 = LBS_MANUAL).
  arg2 | Manually supplied colour value (only required if source2 = LBS_MANUAL).
  manualBlend | Manually supplied 'blend' value - only required for operations which require manual blend e.g. LBX_BLEND_MANUAL.

## setColourOpMultipassFallback()

void Ogre::TextureUnitState::setColourOpMultipassFallback | ( | const SceneBlendFactor | sourceFactor,
|  | const SceneBlendFactor | destFactor
| ) |  |

Sets the multipass fallback operation for this layer, if you used TextureUnitState::setColourOperationEx and not enough multitexturing hardware is available.

Remarks
  Because some effects exposed using TextureUnitState::setColourOperationEx are only supported under multitexturing hardware, if the hardware is lacking the system must fallback on multipass rendering, which unfortunately doesn't support as many effects. This method is for you to specify the fallback operation which most suits you.

  You'll notice that the interface is the same as the Material::setSceneBlending method; this is because multipass rendering IS effectively scene blending, since each layer is rendered on top of the last using the same mechanism as making an object transparent, it's just being rendered in the same place repeatedly to get the multitexture effect.

  If you use the simpler (and hence less flexible) TextureUnitState::setColourOperation method you don't need to call this as the system sets up the fallback for you.

Note
  This option has no effect in the programmable pipeline, because there is no multipass fallback and multitexture blending is handled by the fragment shader.

## setCompositorReference()

void Ogre::TextureUnitState::setCompositorReference | ( | const String & | compositorName,
|  | const String & | textureName,
|  | size_t | mrtIndex = `0`
| ) |  |

Set the compositor reference for this texture unit state.

Remarks
  Only valid when content type is compositor.

Parameters

  compositorName | The name of the compositor to reference.
  textureName | The name of the texture to reference.
  mrtIndex | The index of the wanted texture, if referencing an MRT.

## setContentType()

void Ogre::TextureUnitState::setContentType | ( | ContentType | ct | ) |

Set the type of content this TextureUnitState references.

Remarks
  The default is to reference a standard named texture, but this unit can also reference automated content like a shadow texture.

## setCubicTexture()

void Ogre::TextureUnitState::setCubicTexture | ( | const TexturePtr *const | texPtrs,
|  | bool | forUVW = `false`
| ) |  |

Sets this texture layer to use a combination of 6 texture maps, each one relating to a face of a cube.

Remarks
  Cubic textures are made up of 6 separate texture images. Each one of these is an orthogonal view of the world with a FOV of 90 degrees and an aspect ratio of 1:1. You can generate these from 3D Studio by rendering a scene to a reflection map of a transparent cube and saving the output files.

  Cubic maps can be used either for skyboxes (complete wrap-around skies, like space) or as environment maps to simulate reflections. The system deals with these 2 scenarios in different ways:

  1. for cubic environment maps, the 6 textures are combined into a single 'cubic' texture map which is then addressed using 3D texture coordinates. This is required because you don't know what face of the box you're going to need to address when you render an object, and typically you need to reflect more than one face on the one object, so all 6 textures are needed to be 'active' at once. Cubic environment maps are enabled by calling this method with the forUVW parameter set to true, and then calling setEnvironmentMap(true).

     Note that not all cards support cubic environment mapping.

  2. for skyboxes, the 6 textures are kept separate and used independently for each face of the skybox. This is done because not all cards support 3D cubic maps and skyboxes do not need to use 3D texture coordinates so it is simpler to render each face of the box with 2D coordinates, changing texture between faces.

     Skyboxes are created by calling SceneManager::setSkyBox.

Note
  Applies to both fixed-function and programmable pipeline.

Parameters

  texPtrs | The 6 pointers to the textures which make up the 6 sides of the box. The textures must all be the same size and be powers of 2 in width & height. Must be an Ogre::TexturePtr array with a length of 6 unless forUVW is set to `true`.
  forUVW | Set to `true` if you want a single 3D texture addressable with 3D texture coordinates rather than 6 separate textures. Useful for cubic environment mapping.

## setCubicTextureName() [1/2]

void Ogre::TextureUnitState::setCubicTextureName | ( | const String & | name,
|  | bool | forUVW = `false`
| ) |  |

Sets this texture layer to use a combination of 6 texture maps, each one relating to a face of a cube.

Remarks
  Cubic textures are made up of 6 separate texture images. Each one of these is an orthogonal view of the world with a FOV of 90 degrees and an aspect ratio of 1:1. You can generate these from 3D Studio by rendering a scene to a reflection map of a transparent cube and saving the output files.

  Cubic maps can be used either for skyboxes (complete wrap-around skies, like space) or as environment maps to simulate reflections. The system deals with these 2 scenarios in different ways:

  1. for cubic environment maps, the 6 textures are combined into a single 'cubic' texture map which is then addressed using 3D texture coordinates. This is required because you don't know what face of the box you're going to need to address when you render an object, and typically you need to reflect more than one face on the one object, so all 6 textures are needed to be 'active' at once. Cubic environment maps are enabled by calling this method with the forUVW parameter set to true, and then calling setEnvironmentMap(true).

     Note that not all cards support cubic environment mapping.

  2. for skyboxes, the 6 textures are kept separate and used independently for each face of the skybox. This is done because not all cards support 3D cubic maps and skyboxes do not need to use 3D texture coordinates so it is simpler to render each face of the box with 2D coordinates, changing texture between faces.

     Skyboxes are created by calling SceneManager::setSkyBox.

Note
  Applies to both fixed-function and programmable pipeline.

Parameters

  name

  The basic name of the texture e.g. brickwall.jpg, stonefloor.png. There must be 6 versions of this texture with the suffixes _fr, _bk, _up, _dn, _lf, and _rt (before the extension) which make up the 6 sides of the box. The textures must all be the same size and be powers of 2 in width & height. If you can't make your texture names conform to this, use the alternative method of the same name which takes an array of texture names instead.

  forUVW | Set to `true` if you want a single 3D texture addressable with 3D texture coordinates rather than 6 separate textures. Useful for cubic environment mapping.

## setCubicTextureName() [2/2]

void Ogre::TextureUnitState::setCubicTextureName | ( | const String *const | names,
|  | bool | forUVW = `false`
| ) |  |

Sets this texture layer to use a combination of 6 texture maps, each one relating to a face of a cube.

Remarks
  Cubic textures are made up of 6 separate texture images. Each one of these is an orthogonal view of the world with a FOV of 90 degrees and an aspect ratio of 1:1. You can generate these from 3D Studio by rendering a scene to a reflection map of a transparent cube and saving the output files.

  Cubic maps can be used either for skyboxes (complete wrap-around skies, like space) or as environment maps to simulate reflections. The system deals with these 2 scenarios in different ways:

  1. For cubic environment maps, the 6 textures are combined into a single 'cubic' texture map which is then addressed using 3D texture coordinates. This is required because you don't know what face of the box you're going to need to address when you render an object, and typically you need to reflect more than one face on the one object, so all 6 textures are needed to be 'active' at once. Cubic environment maps are enabled by calling this method with the forUVW parameter set to `true`, and then calling setEnvironmentMap(true).

     Note that not all cards support cubic environment mapping.

  2. For skyboxes, the 6 textures are kept separate and used independently for each face of the skybox. This is done because not all cards support 3D cubic maps and skyboxes do not need to use 3D texture coordinates so it is simpler to render each face of the box with 2D coordinates, changing texture between faces.

     Skyboxes are created by calling SceneManager::setSkyBox.

Note
  Applies to both fixed-function and programmable pipeline.

Parameters

  names | The 6 names of the textures which make up the 6 sides of the box. The textures must all be the same size and be powers of 2 in width & height. Must be an Ogre::String array with a length of 6 unless forUVW is set to `true`.
  forUVW | Set to `true` if you want a single 3D texture addressable with 3D texture coordinates rather than 6 separate textures. Useful for cubic environment mapping.

## setCurrentFrame()

void Ogre::TextureUnitState::setCurrentFrame | ( | unsigned int | frameNumber | ) |

Changes the active frame in an animated or multi-image texture.

Remarks
  An animated texture (or a cubic texture where the images are not combined for 3D use) is made up of a number of frames. This method sets the active frame.

Note
  Applies to both fixed-function and programmable pipeline.

## setDesiredFormat()

void Ogre::TextureUnitState::setDesiredFormat | ( | PixelFormat | desiredFormat | ) |

Sets the desired pixel format when load the texture.

## setEnvironmentMap()

void Ogre::TextureUnitState::setEnvironmentMap | ( | bool | enable,
|  | EnvMapType | envMapType = `ENV_CURVED`
| ) |  |

Turns on/off texture coordinate effect that makes this layer an environment map.

Remarks
  Environment maps make an object look reflective by using the object's vertex normals relative to the camera view to generate texture coordinates.

  The vectors generated can either be used to address a single 2D texture which is a 'fish-eye' lens view of a scene, or a 3D cubic environment map which requires 6 textures for each side of the inside of a cube. The type depends on what texture you set up - if you use the setTextureName method then a 2D fisheye lens texture is required, whereas if you used setCubicTextureName then a cubic environment map will be used.

  This effect works best if the object has lots of gradually changing normals. The texture also has to be designed for this effect - see the example spheremap.png included with the sample application for a 2D environment map; a cubic map can be generated by rendering 6 views of a scene to each of the cube faces with orthogonal views.

Note
  Enabling this disables any other texture coordinate generation effects. However it can be combined with texture coordinate modification functions, which then operate on the generated coordinates rather than static model texture coordinates.

Parameters

  enable | True to enable, false to disable
  envMapType | The type of environment mapping to perform. Planar, curved, reflection or normal.

See also
  EnvMapType

Note
  This option has no effect in the programmable pipeline.

## setFrameTextureName()

void Ogre::TextureUnitState::setFrameTextureName | ( | const String & | name,
|  | unsigned int | frameNumber
| ) |  |

Sets the name of the texture associated with a frame.

Parameters

  name | The name of the texture.
  frameNumber | The frame the texture name is to be placed in.

Note
  Throws an exception if frameNumber exceeds the number of stored frames. Applies to both fixed-function and programmable pipeline.

## setGamma()

void Ogre::TextureUnitState::setGamma | ( | Real | gamma | ) |

Sets the gamma adjustment factor applied to this texture on loading the data.

Note
  Must be called before any 'load' method. This gamma factor will be premultiplied in and may reduce the precision of your textures. You can use setHardwareGamma if supported to apply gamma on sampling the texture instead.

Definition at line 568 of file OgreTextureUnitState.h.

References Ogre::LBS_CURRENT, Ogre::LBS_TEXTURE, and Ogre::ColourValue::White.

## setHardwareGammaEnabled()

void Ogre::TextureUnitState::setHardwareGammaEnabled | ( | bool | enabled | ) |

Sets whether this texture will be set up so that on sampling it, hardware gamma correction is applied.

Remarks
  24-bit textures are often saved in gamma colour space; this preserves precision in the 'darks'. However, if you're performing blending on the sampled colours, you really want to be doing it in linear space. One way is to apply a gamma correction value on loading (see setGamma), but this means you lose precision in those dark colours. An alternative is to get the hardware to do the gamma correction when reading the texture and converting it to a floating point value for the rest of the pipeline. This option allows you to do that; it's only supported in relatively recent hardware (others will ignore it) but can improve the quality of colour reproduction.

Note
  Must be called before any 'load' method since it may affect the construction of the underlying hardware resources. Also note this only useful on textures using 8-bit colour channels.

## setIsAlpha()

void Ogre::TextureUnitState::setIsAlpha | ( | bool | isAlpha | ) |

Sets whether this texture is requested to be loaded as alpha if single channel.

## setName()

void Ogre::TextureUnitState::setName | ( | const String & | name | ) |

Set the name of the Texture Unit State.

Remarks
  The name of the Texture Unit State is optional. Its useful in material scripts where a material could inherit from another material and only want to modify a particalar Texture Unit State.

## setNumMipmaps()

void Ogre::TextureUnitState::setNumMipmaps | ( | int | numMipmaps | ) |

Sets how many mipmaps have been requested for the texture.

## setProjectiveTexturing()

void Ogre::TextureUnitState::setProjectiveTexturing | ( | bool | enabled,
|  | const Frustum * | projectionSettings = `0`
| ) |  |

Enables or disables projective texturing on this texture unit.

Remarks
  Projective texturing allows you to generate texture coordinates based on a Frustum, which gives the impression that a texture is being projected onto the surface. Note that once you have called this method, the texture unit continues to monitor the Frustum you passed in and the projection will change if you can alter it. It also means that you must ensure that the Frustum object you pass a pointer to remains in existence for as long as this TextureUnitState does.

  This effect cannot be combined with other texture generation effects, such as environment mapping. It also has no effect on passes which have a vertex program enabled - projective texturing has to be done in the vertex program instead.

Parameters

  enabled | Whether to enable / disable.
  projectionSettings | The Frustum which will be used to derive the projection parameters.

## setRotateAnimation()

void Ogre::TextureUnitState::setRotateAnimation | ( | Real | speed | ) |

Sets up an animated texture rotation for this layer.

Note
  Useful for constant rotations (for varying rotations, see setTransformAnimation).

Parameters

  speed | The number of complete anticlockwise revolutions per second (use -ve for clockwise)

Note
  This option has no effect in the programmable pipeline.

## setScrollAnimation()

void Ogre::TextureUnitState::setScrollAnimation | ( | Real | uSpeed,
|  | Real | vSpeed
| ) |  |

Sets up an animated scroll for the texture layer.

Note
  Useful for creating constant scrolling effects on a texture layer (for varying scrolls, see setTransformAnimation).

Parameters

  uSpeed | The number of horizontal loops per second (+ve=moving right, -ve = moving left).
  vSpeed | The number of vertical loops per second (+ve=moving up, -ve= moving down).

Note
  This option has no effect in the programmable pipeline.

## setTexture()

void Ogre::TextureUnitState::setTexture | ( | const TexturePtr & | texPtr | ) |

Sets this texture layer to use a single texture, given the pointer to the texture to use on this layer.

Note
  Applies to both fixed-function and programmable pipeline.

## setTextureAddressingMode() [1/3]

void Ogre::TextureUnitState::setTextureAddressingMode | ( | TextureAddressingMode | tam | ) |

Sets the texture addressing mode, i.e.

what happens at uv values above 1.0.

Note
  The default is TAM_WRAP i.e. the texture repeats over values of 1.0.
  This is a shortcut method which sets the addressing mode for all coordinates at once; you can also call the more specific method to set the addressing mode per coordinate.
  This is a shortcut method which sets the addressing mode for all coordinates at once; you can also call the more specific method to set the addressing mode per coordinate.
  This applies for both the fixed-function and programmable pipelines.

## setTextureAddressingMode() [2/3]

void Ogre::TextureUnitState::setTextureAddressingMode | ( | TextureAddressingMode | u,
|  | TextureAddressingMode | v,
|  | TextureAddressingMode | w
| ) |  |

Sets the texture addressing mode, i.e.

what happens at uv values above 1.0.

Note
  The default is TAM_WRAP i.e. the texture repeats over values of 1.0.
  This applies for both the fixed-function and programmable pipelines.

## setTextureAddressingMode() [3/3]

void Ogre::TextureUnitState::setTextureAddressingMode | ( | const UVWAddressingMode & | uvw | ) |

Sets the texture addressing mode, i.e.

what happens at uv values above 1.0.

Note
  The default is TAM_WRAP i.e. the texture repeats over values of 1.0.
  This applies for both the fixed-function and programmable pipelines.

## setTextureAnisotropy()

void Ogre::TextureUnitState::setTextureAnisotropy | ( | unsigned int | maxAniso | ) |

Sets the anisotropy level to be used for this texture level.

Parameters

  maxAniso | The maximal anisotropy level, should be between 2 and the maximum supported by hardware (1 is the default, ie. no anisotrophy).

Note
  This option applies in both the fixed function and the programmable pipeline.

## setTextureBorderColour()

void Ogre::TextureUnitState::setTextureBorderColour | ( | const ColourValue & | colour | ) |

Sets the texture border colour.

Note
  The default is ColourValue::Black, and this value only used when addressing mode is TAM_BORDER.
  This applies for both the fixed-function and programmable pipelines.

## setTextureCompareEnabled()

void Ogre::TextureUnitState::setTextureCompareEnabled | ( | bool | enabled | ) |

## setTextureCompareFunction()

void Ogre::TextureUnitState::setTextureCompareFunction | ( | CompareFunction | function | ) |

## setTextureCoordSet()

void Ogre::TextureUnitState::setTextureCoordSet | ( | unsigned int | set | ) |

Sets the index of the set of texture co-ords this layer uses.

Note
  Default is 0 for all layers. Only change this if you have provided multiple texture co-ords per vertex.
  Only applies to the fixed function pipeline and has no effect if a fragment program is used.

## setTextureFiltering() [1/3]

void Ogre::TextureUnitState::setTextureFiltering | ( | TextureFilterOptions | filterType | ) |

Set the texture filtering for this unit, using the simplified interface.

Remarks
  You also have the option of specifying the minification, magnification and mip filter individually if you want more control over filtering options. See the alternative setTextureFiltering methods for details.

Note
  This option applies in both the fixed function and the programmable pipeline.

Parameters

  filterType | The high-level filter type to use.

## setTextureFiltering() [2/3]

void Ogre::TextureUnitState::setTextureFiltering | ( | FilterType | ftype,
|  | FilterOptions | opts
| ) |  |

Set a single filtering option on this texture unit.

Parameters

  ftype | The filtering type to set.
  opts | The filtering option to set.

## setTextureFiltering() [3/3]

void Ogre::TextureUnitState::setTextureFiltering | ( | FilterOptions | minFilter,
|  | FilterOptions | magFilter,
|  | FilterOptions | mipFilter
| ) |  |

Set a the detailed filtering options on this texture unit.

Parameters

  minFilter | The filtering to use when reducing the size of the texture. Can be FO_POINT, FO_LINEAR or FO_ANISOTROPIC.
  magFilter | The filtering to use when increasing the size of the texture. Can be FO_POINT, FO_LINEAR or FO_ANISOTROPIC.
  mipFilter | The filtering to use between mip levels. Can be FO_NONE (turns off mipmapping), FO_POINT or FO_LINEAR (trilinear filtering).

## setTextureMipmapBias()

void Ogre::TextureUnitState::setTextureMipmapBias | ( | float | bias | ) |

Sets the bias value applied to the mipmap calculation.

Remarks
  You can alter the mipmap calculation by biasing the result with a single floating point value. After the mip level has been calculated, this bias value is added to the result to give the final mip level. Lower mip levels are larger (higher detail), so a negative bias will force the larger mip levels to be used, and a positive bias will cause smaller mip levels to be used. The bias values are in mip levels, so a -1 bias will force mip levels one larger than by the default calculation.

Parameters

  bias | The bias value as described above, can be positive or negative.

Definition at line 1116 of file OgreTextureUnitState.h.

## setTextureName()

void Ogre::TextureUnitState::setTextureName | ( | const String & | name,
|  | TextureType | ttype = `TEX_TYPE_2D`
| ) |  |

Sets this texture layer to use a single texture, given the name of the texture to use on this layer.

Note
  Applies to both fixed-function and programmable pipeline.

## setTextureNameAlias()

void Ogre::TextureUnitState::setTextureNameAlias | ( | const String & | name | ) |

Set the alias name used for texture frame names.

Parameters

  name | Can be any sequence of characters and does not have to be unique.

## setTextureRotate()

void Ogre::TextureUnitState::setTextureRotate | ( | const Radian & | angle | ) |

Sets the anticlockwise rotation factor applied to texture coordinates.

Remarks
  This sets a fixed rotation angle - if you wish to animate this, see the ControllerManager::createTextureRotater method.

Note
  Has no effect in the programmable pipeline.

Parameters

  angle | The angle of rotation (anticlockwise).

## setTextureScale()

void Ogre::TextureUnitState::setTextureScale | ( | Real | uScale,
|  | Real | vScale
| ) |  |

Sets the scaling factor applied to texture coordinates.

Remarks
  This method sets the scale element of the texture transformation, and is easier to use than setTextureTransform if you are combining translation, scaling and rotation in your texture transformation. Again if you want to animate these values you need to use a Controller (see ControllerManager and it's methods for more information).

Note
  Has no effect in the programmable pipeline.

Parameters

  uScale | The value by which the texture is to be scaled horizontally.
  vScale | The value by which the texture is to be scaled vertically.

## setTextureScroll()

void Ogre::TextureUnitState::setTextureScroll | ( | Real | u,
|  | Real | v
| ) |  |

Sets the translation offset of the texture, ie scrolls the texture.

Remarks
  This method sets the translation element of the texture transformation, and is easier to use than setTextureTransform if you are combining translation, scaling and rotation in your texture transformation. Again if you want to animate these values you need to use a Controller

Note
  Has no effect in the programmable pipeline.

Parameters

  u | The amount the texture should be moved horizontally (u direction).
  v | The amount the texture should be moved vertically (v direction).

See also
  ControllerManager, Controller

## setTextureTransform()

void Ogre::TextureUnitState::setTextureTransform | ( | const Matrix4 & | xform | ) |

Sets a matrix used to transform any texture coordinates on this layer.

Remarks
  Texture coordinates can be modified on a texture layer to create effects like scrolling textures. A texture transform can either be applied to a layer which takes the source coordinates from a fixed set in the geometry, or to one which generates them dynamically (e.g. environment mapping).

  It's obviously a bit impractical to create scrolling effects by calling this method manually since you would have to call it every framw with a slight alteration each time, which is tedious. Instead you can use the ControllerManager class to create a Controller object which will manage the effect over time for you. See the ControllerManager::createTextureScroller and it's sibling methods for details.
  In addition, if you want to set the individual texture transformations rather than concatenating them yourself, use setTextureScroll, setTextureScale and setTextureRotate.

Note
  Has no effect in the programmable pipeline.

## setTextureUScale()

void Ogre::TextureUnitState::setTextureUScale | ( | Real | value | ) |

As setTextureScale, but sets only U value.

Note
  Has no effect in the programmable pipeline.

## setTextureUScroll()

void Ogre::TextureUnitState::setTextureUScroll | ( | Real | value | ) |

As setTextureScroll, but sets only U value.

Note
  Has no effect in the programmable pipeline.

## setTextureVScale()

void Ogre::TextureUnitState::setTextureVScale | ( | Real | value | ) |

As setTextureScale, but sets only V value.

Note
  Has no effect in the programmable pipeline.

## setTextureVScroll()

void Ogre::TextureUnitState::setTextureVScroll | ( | Real | value | ) |

As setTextureScroll, but sets only V value.

Note
  Has no effect in the programmable pipeline.

## setTransformAnimation()

void Ogre::TextureUnitState::setTransformAnimation | ( | const TextureTransformType | ttype,
|  | const WaveformType | waveType,
|  | Real | base = `0`,
|  | Real | frequency = `1`,
|  | Real | phase = `0`,
|  | Real | amplitude = `1`
| ) |  |

Sets up a general time-relative texture modification effect.

Note
  This can be called multiple times for different values of ttype, but only the latest effect applies if called multiple time for the same ttype.

Parameters

  ttype | The type of transform, either translate (scroll), scale (stretch) or rotate (spin).
  waveType | The shape of the wave, see WaveformType enum for details.
  base | The base value for the function (range of output = {base, base + amplitude}).
  frequency | The speed of the wave in cycles per second.
  phase | The offset of the start of the wave, e.g. 0.5 to start half-way through the wave.
  amplitude | Scales the output so that instead of lying within 0..1 it lies within 0..1*amplitude for exaggerated effects.

Note
  This option has no effect in the programmable pipeline.

## Friends And Related Function Documentation

## RenderSystem

friend class RenderSystem

friend

Definition at line 64 of file OgreTextureUnitState.h.

## Member Data Documentation

## mAddressMode

UVWAddressingMode Ogre::TextureUnitState::mAddressMode

protected

Definition at line 1227 of file OgreTextureUnitState.h.

## mAlphaBlendMode

LayerBlendModeEx Ogre::TextureUnitState::mAlphaBlendMode

protected

Definition at line 1234 of file OgreTextureUnitState.h.

## mAnimController

Controller<Real>* Ogre::TextureUnitState::mAnimController

protected

Definition at line 1289 of file OgreTextureUnitState.h.

## mAnimDuration

Real Ogre::TextureUnitState::mAnimDuration

protected

Duration of animation in seconds.

Definition at line 1219 of file OgreTextureUnitState.h.

## mBindingType

BindingType Ogre::TextureUnitState::mBindingType

protected

Binding type (fragment or vertex pipeline).

Definition at line 1264 of file OgreTextureUnitState.h.

## mBorderColour

ColourValue Ogre::TextureUnitState::mBorderColour

protected

Definition at line 1228 of file OgreTextureUnitState.h.

## mColourBlendFallbackDest

SceneBlendFactor Ogre::TextureUnitState::mColourBlendFallbackDest

protected

Definition at line 1232 of file OgreTextureUnitState.h.

## mColourBlendFallbackSrc

SceneBlendFactor Ogre::TextureUnitState::mColourBlendFallbackSrc

protected

Definition at line 1231 of file OgreTextureUnitState.h.

## mColourBlendMode

LayerBlendModeEx Ogre::TextureUnitState::mColourBlendMode

protected

Definition at line 1230 of file OgreTextureUnitState.h.

## mCompareEnabled

bool Ogre::TextureUnitState::mCompareEnabled

protected

Definition at line 1253 of file OgreTextureUnitState.h.

## mCompareFunc

CompareFunction Ogre::TextureUnitState::mCompareFunc

protected

Definition at line 1254 of file OgreTextureUnitState.h.

## mCompositorRefMrtIndex

size_t Ogre::TextureUnitState::mCompositorRefMrtIndex

protected

The index of the referenced texture if referencing an MRT in a compositor.

Definition at line 1268 of file OgreTextureUnitState.h.

## mCompositorRefName

String Ogre::TextureUnitState::mCompositorRefName

protected

The data that references the compositor.

Definition at line 1280 of file OgreTextureUnitState.h.

## mCompositorRefTexName

String Ogre::TextureUnitState::mCompositorRefTexName

protected

Definition at line 1281 of file OgreTextureUnitState.h.

## mContentType

ContentType Ogre::TextureUnitState::mContentType

protected

Content type of texture (normal loaded texture, auto-texture).

Definition at line 1266 of file OgreTextureUnitState.h.

## mCubic

bool Ogre::TextureUnitState::mCubic

protected

Definition at line 1220 of file OgreTextureUnitState.h.

## mCurrentFrame

unsigned int Ogre::TextureUnitState::mCurrentFrame

protected

The current animation frame.

Definition at line 1216 of file OgreTextureUnitState.h.

## mDesiredFormat

PixelFormat Ogre::TextureUnitState::mDesiredFormat

protected

Definition at line 1223 of file OgreTextureUnitState.h.

## mEffects

EffectMap Ogre::TextureUnitState::mEffects

protected

Definition at line 1278 of file OgreTextureUnitState.h.

## mFramePtrs

vector<TexturePtr>::type Ogre::TextureUnitState::mFramePtrs

mutable protected

Definition at line 1275 of file OgreTextureUnitState.h.

## mFrames

vector<String>::type Ogre::TextureUnitState::mFrames

protected

Definition at line 1274 of file OgreTextureUnitState.h.

## mGamma

Real Ogre::TextureUnitState::mGamma

protected

Definition at line 1238 of file OgreTextureUnitState.h.

## mHwGamma

bool Ogre::TextureUnitState::mHwGamma

protected

Definition at line 1237 of file OgreTextureUnitState.h.

## mIsAlpha

bool Ogre::TextureUnitState::mIsAlpha

protected

Definition at line 1236 of file OgreTextureUnitState.h.

## mIsDefaultAniso

bool Ogre::TextureUnitState::mIsDefaultAniso

protected

Definition at line 1261 of file OgreTextureUnitState.h.

## mIsDefaultFiltering

bool Ogre::TextureUnitState::mIsDefaultFiltering

protected

Definition at line 1262 of file OgreTextureUnitState.h.

## mMagFilter

FilterOptions Ogre::TextureUnitState::mMagFilter

protected

Texture filtering - magnification.

Definition at line 1249 of file OgreTextureUnitState.h.

## mMaxAniso

unsigned int Ogre::TextureUnitState::mMaxAniso

protected

Texture anisotropy.

Definition at line 1257 of file OgreTextureUnitState.h.

## mMinFilter

FilterOptions Ogre::TextureUnitState::mMinFilter

protected

Texture filtering - minification.

Definition at line 1247 of file OgreTextureUnitState.h.

## mMipFilter

FilterOptions Ogre::TextureUnitState::mMipFilter

protected

Texture filtering - mipmapping.

Definition at line 1251 of file OgreTextureUnitState.h.

## mMipmapBias

float Ogre::TextureUnitState::mMipmapBias

protected

Mipmap bias (always float, not Real).

Definition at line 1259 of file OgreTextureUnitState.h.

## mName

String Ogre::TextureUnitState::mName

protected

Optional name for the TUS.

Definition at line 1276 of file OgreTextureUnitState.h.

## mParent

Pass* Ogre::TextureUnitState::mParent

protected

Definition at line 1288 of file OgreTextureUnitState.h.

## mRecalcTexMatrix

bool Ogre::TextureUnitState::mRecalcTexMatrix

mutable protected

Definition at line 1240 of file OgreTextureUnitState.h.

## mRotate

Radian Ogre::TextureUnitState::mRotate

protected

Definition at line 1243 of file OgreTextureUnitState.h.

## mTexModMatrix

Matrix4 Ogre::TextureUnitState::mTexModMatrix

mutable protected

Definition at line 1244 of file OgreTextureUnitState.h.

## mTextureCoordSetIndex

unsigned int Ogre::TextureUnitState::mTextureCoordSetIndex

protected

Request number of mipmaps.

Definition at line 1226 of file OgreTextureUnitState.h.

## mTextureLoadFailed

bool Ogre::TextureUnitState::mTextureLoadFailed

mutable protected

Definition at line 1235 of file OgreTextureUnitState.h.

## mTextureNameAlias

String Ogre::TextureUnitState::mTextureNameAlias

protected

Optional alias for texture frames.

Definition at line 1277 of file OgreTextureUnitState.h.

## mTextureSrcMipmaps

int Ogre::TextureUnitState::mTextureSrcMipmaps

protected

Definition at line 1224 of file OgreTextureUnitState.h.

## mTextureType

TextureType Ogre::TextureUnitState::mTextureType

protected

Is this a series of 6 2D textures to make up a cube?

Definition at line 1222 of file OgreTextureUnitState.h.

## mUMod

Real Ogre::TextureUnitState::mUMod

protected

Definition at line 1241 of file OgreTextureUnitState.h.

## mUScale

Real Ogre::TextureUnitState::mUScale

protected

Definition at line 1242 of file OgreTextureUnitState.h.

## mVMod

Real Ogre::TextureUnitState::mVMod

protected

Definition at line 1241 of file OgreTextureUnitState.h.

## mVScale

Real Ogre::TextureUnitState::mVScale

protected

Definition at line 1242 of file OgreTextureUnitState.h.

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

- OgreTextureUnitState.h

Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.