Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# Ogre::TextureUnitState Class Reference

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

`#include <OgreTextureUnitState.h>`

List of all members.

## Public Types

enum | TextureEffectType { ET_ENVIRONMENT_MAP, ET_PROJECTIVE_TEXTURE, ET_SCROLL, ET_ROTATE, ET_TRANSFORM }
| Definition of the broad types of texture effect you can apply to a texture unit. More...
enum | EnvMapType { ENV_PLANAR, ENV_CURVED, ENV_REFLECTION, ENV_NORMAL }
| Enumeration to specify type of envmap. 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...
enum | TextureAddressingMode { TAM_WRAP, TAM_MIRROR, TAM_CLAMP }
| 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...

## Public Methods

| TextureUnitState (Pass *parent)
| Default constructor.
| TextureUnitState (Pass *parent, const TextureUnitState &oth)
TextureUnitState & | operator= (const TextureUnitState &oth)
| ~TextureUnitState ()
| Default destructor.
| TextureUnitState (Pass *parent, const String &texName, unsigned int texCoordSet=0)
| Name-based constructor.
const String & | getTextureName (void) const
| Get the name of current texture image for this layer.
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.
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.
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.
void | setAnimatedTextureName (const String &name, unsigned int numFrames, Real duration=0)
| Sets the names of the texture images for an animated texture.
void | setAnimatedTextureName (const String *const names, unsigned int numFrames, Real duration=0)
| Sets the names of the texture images for an animated texture.
std::pair< uint, uint > | getTextureDimensions (unsigned int frame=0) const
| Returns the width and height of the texture in the given frame.
void | setCurrentFrame (unsigned int frameNumber)
| Changes the active frame in an animated or multi-image texture.
unsigned int | getCurrentFrame (void) const
| Gets the active frame in an animated or multi-image texture layer.
const String & | getFrameTextureName (unsigned int frameNumber) const
| Gets the name of the texture associated with a frame.
unsigned int | getNumFrames (void) const
| Gets the number of frames for a texture.
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.
bool | is3D (void) const
| Returns true if this texture layer uses a composite 3D cubic texture.
TextureType | getTextureType (void) const
| Returns the type of this texture.
unsigned int | getTextureCoordSet (void) const
| Gets the index of the set of texture co-ords this layer uses.
void | setTextureCoordSet (unsigned int set)
| Sets the index of the set of texture co-ords this layer uses.
void | setTextureTransform (const Matrix4 &xform)
| Sets a matrix used to transform any texture coordinates on this layer.
const Matrix4 & | getTextureTransform (void)
| Gets the current texture transformation matrix.
void | setTextureScroll (Real u, Real v)
| Sets the translation offset of the texture, ie scrolls the texture.
void | setTextureUScroll (Real value)
| As setTextureScroll, but sets only U value.
Real | getTextureUScroll (void) const
void | setTextureVScroll (Real value)
| As setTextureScroll, but sets only V value.
Real | getTextureVScroll (void) const
void | setTextureUScale (Real value)
| As setTextureScale, but sets only U value.
Real | getTextureUScale (void) const
void | setTextureVScale (Real value)
| As setTextureScale, but sets only V value.
Real | getTextureVScale (void) const
void | setTextureScale (Real uScale, Real vScale)
| Sets the scaling factor applied to texture coordinates.
void | setTextureRotate (const Radian &angle)
| Sets the anticlockwise rotation factor applied to texture coordinates.
const Radian & | getTextureRotate (void) const
TextureAddressingMode | getTextureAddressingMode (void) const
| Gets the texture addressing mode, i.e.
void | setTextureAddressingMode (TextureAddressingMode tam)
| Sets the texture addressing mode, i.e.
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.
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).
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.
const LayerBlendModeEx & | getColourBlendMode (void) const
| Get multitexturing colour blending mode.
const LayerBlendModeEx & | getAlphaBlendMode (void) const
| Get multitexturing alpha blending mode.
SceneBlendFactor | getColourBlendFallbackSrc (void) const
| Get the multipass fallback for colour blending operation source factor.
SceneBlendFactor | getColourBlendFallbackDest (void) const
| Get the multipass fallback for colour blending operation destination factor.
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.
void | addEffect (TextureEffect &effect)
| Generic method for setting up texture effects.
void | setEnvironmentMap (bool enable, EnvMapType envMapType=ENV_CURVED)
| Turns on/off texture coordinate effect that makes this layer an environment map.
void | setScrollAnimation (Real uSpeed, Real vSpeed)
| Sets up an animated scroll for the texture layer.
void | setRotateAnimation (Real speed)
| Sets up an animated texture rotation for this layer.
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.
void | setAlphaRejectSettings (const CompareFunction func, unsigned char value)
| Sets the way the layer will have use alpha to totally reject pixels from the pipeline.
CompareFunction | getAlphaRejectFunction (void) const
| Gets the alpha reject function.
unsigned char | getAlphaRejectValue (void) const
| Gets the alpha reject value.
void | setProjectiveTexturing (bool enabled, const Frustum *projectionSettings=0)
| Enables or disables projective texturing on this texture unit.
void | removeAllEffects (void)
| Removes all effects applied to this texture layer.
void | removeEffect (const TextureEffectType type)
| Removes a single effect applied to this texture layer.
bool | isBlank (void) const
| Determines if this texture layer is currently blank.
void | setBlank (void)
| Sets this texture layer to be blank.
std::multimap< TextureEffectType, TextureEffect > | getEffects (void) const
Real | getAnimationDuration (void) const
void | setTextureFiltering (TextureFilterOptions filterType)
| Set the texture filtering for this unit, using the simplified interface.
void | setTextureFiltering (FilterType ftype, FilterOptions opts)
| Set a single filtering option on this texture unit.
void | setTextureFiltering (FilterOptions minFilter, FilterOptions magFilter, FilterOptions mipFilter)
| Set a the detailed filtering options on this texture unit.
FilterOptions | getTextureFiltering (FilterType ftpye) const
void | setTextureAnisotropy (unsigned int maxAniso)
| Sets the anisotropy level to be used for this texture level.
unsigned int | getTextureAnisotropy () const
Pass * | getParent (void)
| Gets the parent Pass object.
void | _load (void)
| Internal method for loading this object as part of Material::load.
void | _unload (void)
| Internal method for unloading this object as part of Material::unload.
bool | hasViewRelativeTextureCoordinateGeneration (void)
| Returns whether this unit has texture coordinate generation that depends on the camera.
bool | isLoaded (void)
void | _notifyNeedsRecompile (void)
| Tells the class that it needs recompilation.

## Protected Types

typedef std::multimap< TextureEffectType, TextureEffect > | EffectMap

## Protected Methods

void | recalcTextureMatrix (void)
| Internal method for calculating texture matrix.
void | createAnimController (void)
| Internal method for creating animation controller.
void | createEffectController (TextureEffect &effect)
| Internal method for creating texture effect controller.

## Protected Attributes

Pass * | mParent
unsigned int | mNumFrames
| Number of frames of animation, or frames making up cubic.
unsigned int | mCurrentFrame
| The xurrent animation frame.
Real | mAnimDuration
| Duration of animation in seconds.
Controller< Real > * | mAnimController
bool | mCubic
TextureType | mTextureType
unsigned int | mTextureCoordSetIndex
TextureAddressingMode | mAddressMode
LayerBlendModeEx | colourBlendMode
SceneBlendFactor | colourBlendFallbackSrc
SceneBlendFactor | colourBlendFallbackDest
LayerBlendModeEx | alphaBlendMode
bool | mIsBlank
bool | mRecalcTexMatrix
Real | mUMod
Real | mVMod
Real | mUScale
Real | mVScale
Radian | mRotate
Matrix4 | mTexModMatrix
CompareFunction | mAlphaRejectFunc
unsigned char | mAlphaRejectVal
Real | mUScrollAnim
Real | mVScrollAnim
Real | mRotateAnim
FilterOptions | mMinFilter
| Texture filtering - minification.
FilterOptions | mMagFilter
| Texture filtering - magnification.
FilterOptions | mMipFilter
| Texture filtering - mipmapping.
unsigned int | mMaxAniso
| Texture anisotropy.
bool | mIsDefaultAniso
bool | mIsDefaultFiltering
String | mFrames [MAX_FRAMES]
EffectMap | mEffects

## 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 52 of file OgreTextureUnitState.h.

## Member Typedef Documentation

typedef std::multimap<TextureEffectType, TextureEffect> Ogre::TextureUnitState::EffectMap`[protected]`

| Definition at line 941 of file OgreTextureUnitState.h.

## Member Enumeration Documentation

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.

Enumeration values:

  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 entended to supply reflection vectors for cube mapping.
  ENV_NORMAL | Envmap entended to supply normal vectors for cube mapping.

Definition at line 81 of file OgreTextureUnitState.h.

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.

Enumeration values:

  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.

Definition at line 112 of file OgreTextureUnitState.h.

enum Ogre::TextureUnitState::TextureCubeFace

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

Enumeration values:

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

Definition at line 124 of file OgreTextureUnitState.h.

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.

Enumeration values:

  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_SCROLL | Constant u/v scrolling effect.
  ET_ROTATE | Constant rotation.
  ET_TRANSFORM | More complex transform.

Definition at line 61 of file OgreTextureUnitState.h.

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.

Enumeration values:

  TT_TRANSLATE_U |
  TT_TRANSLATE_V |
  TT_SCALE_U |
  TT_SCALE_V |
  TT_ROTATE |

Definition at line 98 of file OgreTextureUnitState.h.

## Constructor & Destructor Documentation

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

Default constructor.

Definition at line 38 of file OgreTextureUnitState.cpp.

References Ogre::Pass::_dirtyHash(), alphaBlendMode, Ogre::LayerBlendModeEx::blendType, Ogre::CMPF_ALWAYS_PASS, colourBlendMode, Ogre::FO_LINEAR, Ogre::FO_POINT, Ogre::LBO_MODULATE, Ogre::LBS_CURRENT, Ogre::LBS_TEXTURE, Ogre::LBT_ALPHA, Ogre::LBT_COLOUR, Ogre::LBX_MODULATE, mAlphaRejectFunc, mAlphaRejectVal, mAnimController, mAnimDuration, mCubic, mCurrentFrame, mFrames, mIsBlank, mIsDefaultAniso, mIsDefaultFiltering, mMagFilter, mMaxAniso, mMinFilter, mMipFilter, mNumFrames, mParent, mRecalcTexMatrix, mRotate, mTexModMatrix, mTextureCoordSetIndex, mTextureType, mUMod, mUScale, mVMod, mVScale, Ogre::LayerBlendModeEx::operation, setColourOperation(), setTextureAddressingMode(), Ogre::LayerBlendModeEx::source1, Ogre::LayerBlendModeEx::source2, TAM_WRAP, and Ogre::TEX_TYPE_2D.

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

| Definition at line 82 of file OgreTextureUnitState.cpp. References mParent.

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

| Default destructor. Definition at line 131 of file OgreTextureUnitState.cpp. References mAnimController, and mEffects.

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

Name-based constructor.

Parameters:

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

Definition at line 89 of file OgreTextureUnitState.cpp.

References Ogre::Pass::_dirtyHash(), alphaBlendMode, Ogre::LayerBlendModeEx::blendType, Ogre::CMPF_ALWAYS_PASS, colourBlendMode, Ogre::FO_LINEAR, Ogre::FO_POINT, Ogre::LBO_MODULATE, Ogre::LBS_CURRENT, Ogre::LBS_TEXTURE, Ogre::LBT_ALPHA, Ogre::LBT_COLOUR, Ogre::LBX_MODULATE, mAlphaRejectFunc, mAlphaRejectVal, mAnimController, mAnimDuration, mCubic, mIsBlank, mIsDefaultAniso, mIsDefaultFiltering, mMagFilter, mMaxAniso, mMinFilter, mMipFilter, mParent, mRecalcTexMatrix, mRotate, mTexModMatrix, mTextureCoordSetIndex, mTextureType, mUMod, mUScale, mVMod, mVScale, Ogre::LayerBlendModeEx::operation, setColourOperation(), setTextureAddressingMode(), setTextureCoordSet(), setTextureName(), Ogre::LayerBlendModeEx::source1, Ogre::LayerBlendModeEx::source2, Ogre::String, TAM_WRAP, and Ogre::TEX_TYPE_2D.

## Member Function Documentation

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

| Internal method for loading this object as part of Material::load. Definition at line 718 of file OgreTextureUnitState.cpp. References createAnimController(), createEffectController(), mAnimDuration, mEffects, mFrames, mIsBlank, mNumFrames, mTextureType, and Ogre::String. Referenced by Ogre::BspLevel::loadQuake3Level(), setAnimatedTextureName(), and setTextureName().

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

| Tells the class that it needs recompilation. Definition at line 911 of file OgreTextureUnitState.cpp. References Ogre::Pass::_notifyNeedsRecompile(), and mParent.

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

| Internal method for unloading this object as part of Material::unload. Definition at line 901 of file OgreTextureUnitState.cpp.

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.

Definition at line 435 of file OgreTextureUnitState.cpp.

References Ogre::TextureUnitState::TextureEffect::controller, createEffectController(), ET_ENVIRONMENT_MAP, ET_PROJECTIVE_TEXTURE, ET_ROTATE, ET_SCROLL, isLoaded(), mEffects, and Ogre::TextureUnitState::TextureEffect::type.

Referenced by setEnvironmentMap(), setProjectiveTexturing(), setRotateAnimation(), setScrollAnimation(), and setTransformAnimation().

void Ogre::TextureUnitState::createAnimController | ( | void |  | ) | `[protected]`

| Internal method for creating animation controller. Definition at line 752 of file OgreTextureUnitState.cpp. References mAnimController, and mAnimDuration. Referenced by _load().

void Ogre::TextureUnitState::createEffectController | ( | TextureEffect & | effect | ) | `[protected]`

Internal method for creating texture effect controller.

Definition at line 758 of file OgreTextureUnitState.cpp.

References Ogre::TextureUnitState::TextureEffect::amplitude, Ogre::TextureUnitState::TextureEffect::arg1, Ogre::TextureUnitState::TextureEffect::arg2, Ogre::TextureUnitState::TextureEffect::base, Ogre::TextureUnitState::TextureEffect::controller, Ogre::ControllerManager::createTextureRotater(), Ogre::ControllerManager::createTextureScroller(), Ogre::ControllerManager::createTextureWaveTransformer(), ET_ENVIRONMENT_MAP, ET_ROTATE, ET_SCROLL, ET_TRANSFORM, Ogre::TextureUnitState::TextureEffect::frequency, Ogre::TextureUnitState::TextureEffect::phase, Ogre::TextureUnitState::TextureEffect::subtype, Ogre::TextureUnitState::TextureEffect::type, and Ogre::TextureUnitState::TextureEffect::waveType.

Referenced by _load(), and addEffect().

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

| Get multitexturing alpha blending mode. Definition at line 501 of file OgreTextureUnitState.cpp. References alphaBlendMode. Referenced by Ogre::RenderSystem::_setTextureUnitSettings(), and Ogre::MaterialSerializer::writeTextureUnit().

CompareFunction Ogre::TextureUnitState::getAlphaRejectFunction | ( | void |  | ) | const

| Gets the alpha reject function. See setAlphaRejectSettings for more information. Definition at line 668 of file OgreTextureUnitState.cpp. References Ogre::CompareFunction, and mAlphaRejectFunc. Referenced by Ogre::RenderSystem::_setTextureUnitSettings(), and Ogre::MaterialSerializer::writeTextureUnit().

unsigned char Ogre::TextureUnitState::getAlphaRejectValue | ( | void |  | ) | const

| Gets the alpha reject value. See setAlphaRejectSettings for more information. Definition at line 673 of file OgreTextureUnitState.cpp. References mAlphaRejectVal. Referenced by Ogre::RenderSystem::_setTextureUnitSettings(), and Ogre::MaterialSerializer::writeTextureUnit().

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

| Definition at line 811 of file OgreTextureUnitState.cpp. References mAnimDuration, and Ogre::Real. Referenced by Ogre::MaterialSerializer::writeTextureUnit().

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

| Get the multipass fallback for colour blending operation destination factor. Definition at line 491 of file OgreTextureUnitState.cpp. References colourBlendFallbackDest, and Ogre::SceneBlendFactor. Referenced by Ogre::MaterialSerializer::writeTextureUnit().

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

| Get the multipass fallback for colour blending operation source factor. Definition at line 486 of file OgreTextureUnitState.cpp. References colourBlendFallbackSrc, and Ogre::SceneBlendFactor. Referenced by Ogre::MaterialSerializer::writeTextureUnit().

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

| Get multitexturing colour blending mode. Definition at line 496 of file OgreTextureUnitState.cpp. References colourBlendMode. Referenced by Ogre::Technique::_compile(), Ogre::RenderSystem::_setTextureUnitSettings(), and Ogre::MaterialSerializer::writeTextureUnit().

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.

Definition at line 347 of file OgreTextureUnitState.cpp.

References mCurrentFrame.

Referenced by Ogre::TextureFrameControllerValue::getValue().

std::multimap< TextureUnitState::TextureEffectType, TextureUnitState::TextureEffect > Ogre::TextureUnitState::getEffects | ( | void |  | ) | const

| Definition at line 817 of file OgreTextureUnitState.cpp. References mEffects. Referenced by Ogre::MaterialSerializer::writeTextureUnit().

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

Gets the name of the texture associated with a frame.

Note:
  Applies to both fixed-function and programmable pipeline.

Definition at line 357 of file OgreTextureUnitState.cpp.

References mFrames, mNumFrames, and Ogre::String.

Referenced by Ogre::MaterialSerializer::writeTextureUnit().

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

Gets the number of frames for a texture.

Note:
  Applies to both fixed-function and programmable pipeline.

Definition at line 352 of file OgreTextureUnitState.cpp.

References mNumFrames.

Referenced by Ogre::TextureFrameControllerValue::getValue(), Ogre::TextureFrameControllerValue::setValue(), and Ogre::MaterialSerializer::writeTextureUnit().

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

| Gets the parent Pass object. Definition at line 867 of file OgreTextureUnitState.h.

TextureUnitState::TextureAddressingMode Ogre::TextureUnitState::getTextureAddressingMode | ( | void |  | ) | const

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

Definition at line 506 of file OgreTextureUnitState.cpp.

References mAddressMode.

Referenced by Ogre::RenderSystem::_setTextureUnitSettings(), and Ogre::MaterialSerializer::writeTextureUnit().

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

| Definition at line 895 of file OgreTextureUnitState.cpp. References mIsDefaultAniso, and mMaxAniso. Referenced by Ogre::RenderSystem::_setTextureUnitSettings(), and Ogre::MaterialSerializer::writeTextureUnit().

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

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

Note:
  Applies to both fixed-function and programmable pipeline.

Definition at line 363 of file OgreTextureUnitState.cpp.

References mTextureCoordSetIndex.

Referenced by Ogre::RenderSystem::_setTextureUnitSettings(), and Ogre::MaterialSerializer::writeTextureUnit().

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

| Returns the width and height of the texture in the given frame. Definition at line 329 of file OgreTextureUnitState.cpp. References Except, Ogre::Texture::getHeight(), Ogre::Texture::getWidth(), and mFrames.

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

| Definition at line 869 of file OgreTextureUnitState.cpp. References Ogre::FilterOptions, Ogre::FilterType, Ogre::FT_MAG, Ogre::FT_MIN, Ogre::FT_MIP, mIsDefaultFiltering, mMagFilter, mMinFilter, and mMipFilter. Referenced by Ogre::RenderSystem::_setTextureUnitSettings(), and Ogre::MaterialSerializer::writeTextureUnit().

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.

Definition at line 168 of file OgreTextureUnitState.cpp.

References mCurrentFrame, mFrames, and Ogre::String.

Referenced by Ogre::RenderSystem::_setTextureUnitSettings(), and Ogre::MaterialSerializer::writeTextureUnit().

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

| Definition at line 805 of file OgreTextureUnitState.cpp. References mRotate. Referenced by Ogre::MaterialSerializer::writeTextureUnit().

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

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.

Definition at line 580 of file OgreTextureUnitState.cpp.

References mTexModMatrix, and recalcTextureMatrix().

Referenced by Ogre::RenderSystem::_setTextureUnitSettings(), and Ogre::TexCoordModifierControllerValue::getValue().

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

Returns the type of this texture.

Note:
  Applies to both fixed-function and programmable pipeline.

Definition at line 258 of file OgreTextureUnitState.cpp.

References mTextureType, and Ogre::TextureType.

Referenced by Ogre::MaterialSerializer::writeTextureUnit().

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

| Definition at line 793 of file OgreTextureUnitState.cpp. References mUScale, and Ogre::Real. Referenced by Ogre::MaterialSerializer::writeTextureUnit().

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

| Definition at line 781 of file OgreTextureUnitState.cpp. References mUMod, and Ogre::Real. Referenced by Ogre::MaterialSerializer::writeTextureUnit().

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

| Definition at line 799 of file OgreTextureUnitState.cpp. References mVScale, and Ogre::Real. Referenced by Ogre::MaterialSerializer::writeTextureUnit().

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

| Definition at line 787 of file OgreTextureUnitState.cpp. References mVMod, and Ogre::Real. Referenced by Ogre::MaterialSerializer::writeTextureUnit().

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

| Returns whether this unit has texture coordinate generation that depends on the camera. Definition at line 916 of file OgreTextureUnitState.cpp. References ENV_REFLECTION, ET_ENVIRONMENT_MAP, ET_PROJECTIVE_TEXTURE, and mEffects. Referenced by Ogre::SceneManager::renderSingleObject().

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.

Definition at line 253 of file OgreTextureUnitState.cpp.

References mTextureType, and Ogre::TEX_TYPE_CUBE_MAP.

Referenced by Ogre::Technique::_compile().

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.

Definition at line 480 of file OgreTextureUnitState.cpp.

References mIsBlank.

Referenced by Ogre::BspLevel::loadQuake3Level().

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.

Definition at line 248 of file OgreTextureUnitState.cpp.

References mCubic.

Referenced by Ogre::MaterialSerializer::writeTextureUnit().

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

| Definition at line 906 of file OgreTextureUnitState.cpp. References Ogre::Pass::isLoaded(), and mParent. Referenced by addEffect(), setAnimatedTextureName(), and setTextureName().

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

| Definition at line 151 of file OgreTextureUnitState.cpp. References Ogre::Pass::_dirtyHash(), mEffects, mFrames, mNumFrames, mParent, Ogre::uchar, and Ogre::ushort.

void Ogre::TextureUnitState::recalcTextureMatrix | ( | void |  | ) | `[protected]`

| Internal method for calculating texture matrix. Definition at line 588 of file OgreTextureUnitState.cpp. References mRotate, mTexModMatrix, mUMod, mUScale, mVMod, mVScale, and Ogre::Real. Referenced by getTextureTransform().

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

| Removes all effects applied to this texture layer. Definition at line 463 of file OgreTextureUnitState.cpp. References mEffects.

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.

Definition at line 532 of file OgreTextureUnitState.cpp.

References mEffects.

Referenced by setEnvironmentMap(), setProjectiveTexturing(), setRotateAnimation(), setScrollAnimation(), and setTransformAnimation().

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, wheras 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.

Definition at line 420 of file OgreTextureUnitState.cpp.

References Ogre::LayerBlendModeEx::alphaArg1, Ogre::LayerBlendModeEx::alphaArg2, alphaBlendMode, Ogre::LayerBlendModeEx::factor, Ogre::LayerBlendOperationEx, Ogre::LayerBlendSource, Ogre::LayerBlendModeEx::operation, Ogre::Real, Ogre::LayerBlendModeEx::source1, and Ogre::LayerBlendModeEx::source2.

Referenced by Ogre::parseAlphaOpEx().

void Ogre::TextureUnitState::setAlphaRejectSettings | ( | const CompareFunction | func,
|  | unsigned char | value
| ) |

Sets the way the layer will have use alpha to totally reject pixels from the pipeline.

Note:
  The default is CMPF_ALWAYS_PASS i.e. alpha is not used to reject pixels.

Parameters:

  func | The comparison which must pass for the pixel to be written.
  value | 1 byte value against which alpha values will be tested(0-255)

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

Definition at line 662 of file OgreTextureUnitState.cpp.

References Ogre::CompareFunction, mAlphaRejectFunc, and mAlphaRejectVal.

Referenced by Ogre::Quake3Shader::createAsMaterial(), and Ogre::parseAlphaRejection().

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.

Definition at line 302 of file OgreTextureUnitState.cpp.

References Ogre::Pass::_dirtyHash(), _load(), Except, isLoaded(), mAnimDuration, MAX_FRAMES, mCubic, mCurrentFrame, mFrames, mNumFrames, mParent, Ogre::Real, and Ogre::String.

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

Definition at line 264 of file OgreTextureUnitState.cpp.

References Ogre::Pass::_dirtyHash(), _load(), Except, isLoaded(), mAnimDuration, MAX_FRAMES, mCubic, mCurrentFrame, mFrames, mNumFrames, mParent, Ogre::Real, and Ogre::String.

Referenced by Ogre::Quake3Shader::createAsMaterial(), and Ogre::parseAnimTexture().

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

| Sets this texture layer to be blank. Definition at line 549 of file OgreTextureUnitState.cpp. References mIsBlank.

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.

Definition at line 388 of file OgreTextureUnitState.cpp.

References Ogre::LayerBlendOperation, Ogre::LBO_ADD, Ogre::LBO_ALPHA_BLEND, Ogre::LBO_MODULATE, Ogre::LBO_REPLACE, Ogre::LBS_CURRENT, Ogre::LBS_TEXTURE, Ogre::LBX_ADD, Ogre::LBX_BLEND_TEXTURE_ALPHA, Ogre::LBX_MODULATE, Ogre::LBX_SOURCE1, Ogre::SBF_DEST_COLOUR, Ogre::SBF_ONE, Ogre::SBF_ONE_MINUS_SOURCE_ALPHA, Ogre::SBF_SOURCE_ALPHA, Ogre::SBF_ZERO, setColourOperationEx(), and setColourOpMultipassFallback().

Referenced by Ogre::Quake3Shader::createAsMaterial(), Ogre::BspLevel::loadQuake3Level(), Ogre::parseColourOp(), Ogre::SceneManager::renderModulativeTextureShadowedQueueGroupObjects(), and TextureUnitState().

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.

Parameters:

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

Definition at line 373 of file OgreTextureUnitState.cpp.

References Ogre::LayerBlendModeEx::colourArg1, Ogre::LayerBlendModeEx::colourArg2, colourBlendMode, Ogre::LayerBlendModeEx::factor, Ogre::LayerBlendOperationEx, Ogre::LayerBlendSource, Ogre::LayerBlendModeEx::operation, Ogre::Real, Ogre::LayerBlendModeEx::source1, and Ogre::LayerBlendModeEx::source2.

Referenced by Ogre::SceneManager::initShadowVolumeMaterials(), Ogre::parseColourOpEx(), setColourOperation(), and Ogre::SceneManager::setShadowColour().

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.

Definition at line 414 of file OgreTextureUnitState.cpp.

References colourBlendFallbackDest, colourBlendFallbackSrc, and Ogre::SceneBlendFactor.

Referenced by Ogre::parseColourOpFallback(), and setColourOperation().

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 orthoganal 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:

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.

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

  Definition at line 233 of file OgreTextureUnitState.cpp.

  References Ogre::Pass::_notifyNeedsRecompile(), mCubic, mCurrentFrame, mFrames, mNumFrames, mParent, mTextureType, Ogre::String, Ogre::TEX_TYPE_2D, and Ogre::TEX_TYPE_CUBE_MAP.

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 orthoganal 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:

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.

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

  Definition at line 206 of file OgreTextureUnitState.cpp.

  References Ogre::String.

  Referenced by Ogre::parseCubicTexture(), and setTextureName().

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.

Definition at line 338 of file OgreTextureUnitState.cpp.

References Ogre::Pass::_dirtyHash(), mCurrentFrame, mNumFrames, and mParent.

Referenced by Ogre::SceneManager::setSkyBox(), and Ogre::TextureFrameControllerValue::setValue().

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 environemnt 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 orthoganal 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
  planar | If set to true, instead of being based on normals the environment effect is based on vertex positions. This is good for planar surfaces.

Note:
  This option has no effect in the programmable pipeline.

Definition at line 516 of file OgreTextureUnitState.cpp.

References addEffect(), ET_ENVIRONMENT_MAP, removeEffect(), Ogre::TextureUnitState::TextureEffect::subtype, and Ogre::TextureUnitState::TextureEffect::type.

Referenced by Ogre::Quake3Shader::createAsMaterial(), and Ogre::parseEnvMap().

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.

Definition at line 936 of file OgreTextureUnitState.cpp.

References addEffect(), ET_PROJECTIVE_TEXTURE, Ogre::TextureUnitState::TextureEffect::frustum, removeEffect(), and Ogre::TextureUnitState::TextureEffect::type.

Referenced by Ogre::SceneManager::createShadowTextures(), and Ogre::SceneManager::renderModulativeTextureShadowedQueueGroupObjects().

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.

Definition at line 690 of file OgreTextureUnitState.cpp.

References addEffect(), Ogre::TextureUnitState::TextureEffect::arg1, ET_ROTATE, Ogre::Real, removeEffect(), and Ogre::TextureUnitState::TextureEffect::type.

Referenced by Ogre::Quake3Shader::createAsMaterial(), and Ogre::parseRotateAnim().

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.

Definition at line 678 of file OgreTextureUnitState.cpp.

References addEffect(), Ogre::TextureUnitState::TextureEffect::arg1, Ogre::TextureUnitState::TextureEffect::arg2, ET_SCROLL, Ogre::Real, removeEffect(), and Ogre::TextureUnitState::TextureEffect::type.

Referenced by Ogre::Quake3Shader::createAsMaterial(), and Ogre::parseScrollAnim().

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 applies for both the fixed-function and programmable pipelines.

Definition at line 511 of file OgreTextureUnitState.cpp.

References mAddressMode.

Referenced by Ogre::Quake3Shader::createAsMaterial(), Ogre::SceneManager::createShadowTextures(), Ogre::SceneManager::initShadowVolumeMaterials(), Ogre::Font::load(), Ogre::BspLevel::loadQuake3Level(), Ogre::parseTexAddressMode(), Ogre::SceneManager::renderModulativeTextureShadowedQueueGroupObjects(), Ogre::SceneManager::setSkyBox(), and TextureUnitState().

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

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

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.

Definition at line 889 of file OgreTextureUnitState.cpp.

References mIsDefaultAniso, and mMaxAniso.

Referenced by Ogre::parseAnisotropy().

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.
  Applies to both fixed-function and programmable pipeline.

Definition at line 368 of file OgreTextureUnitState.cpp.

References mTextureCoordSetIndex.

Referenced by Ogre::Quake3Shader::createAsMaterial(), Ogre::Pass::createTextureUnitState(), Ogre::BspLevel::loadQuake3Level(), Ogre::parseTexCoord(), and TextureUnitState().

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

Set a the detailed filtering options on this texture unit.

ams minFilter The filtering to use when reducing the size of the texture.
  Can be FO_POINT, FO_LINEAR or FO_ANISOTROPIC

ams magFilter The filtering to use when increasing the size of the texture
  Can be FO_POINT, FO_LINEAR or FO_ANISOTROPIC

ams mipFilter The filtering to use between mip levels
  Can be FO_NONE (turns off mipmapping), FO_POINT or FO_LINEAR (trilinear filtering)

Definition at line 860 of file OgreTextureUnitState.cpp.

References Ogre::FilterOptions, mIsDefaultFiltering, mMagFilter, mMinFilter, and mMipFilter.

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

Set a single filtering option on this texture unit.

ams ftype The filtering type to set

ams opts The filtering option to set

Definition at line 843 of file OgreTextureUnitState.cpp.

References Ogre::FilterOptions, Ogre::FilterType, Ogre::FT_MAG, Ogre::FT_MIN, Ogre::FT_MIP, mIsDefaultFiltering, mMagFilter, mMinFilter, and mMipFilter.

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.

Definition at line 823 of file OgreTextureUnitState.cpp.

References Ogre::FO_ANISOTROPIC, Ogre::FO_LINEAR, Ogre::FO_NONE, Ogre::FO_POINT, mIsDefaultFiltering, Ogre::TextureFilterOptions, Ogre::TFO_ANISOTROPIC, Ogre::TFO_BILINEAR, Ogre::TFO_NONE, and Ogre::TFO_TRILINEAR.

Referenced by Ogre::Font::createTextureFromFont(), and Ogre::parseFiltering().

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.

Definition at line 174 of file OgreTextureUnitState.cpp.

References Ogre::Pass::_dirtyHash(), _load(), isLoaded(), mCubic, mCurrentFrame, mFrames, mIsBlank, mNumFrames, mParent, mTextureType, setCubicTextureName(), Ogre::String, Ogre::TEX_TYPE_CUBE_MAP, and Ogre::TextureType.

Referenced by Ogre::Pass::createTextureUnitState(), Ogre::BspLevel::loadQuake3Level(), Ogre::parseTexture(), Ogre::SceneManager::renderModulativeTextureShadowedQueueGroupObjects(), and TextureUnitState().

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

Definition at line 574 of file OgreTextureUnitState.cpp.

References mRecalcTexMatrix, and mRotate.

Referenced by Ogre::parseRotate(), and Ogre::TexCoordModifierControllerValue::setValue().

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.

Definition at line 567 of file OgreTextureUnitState.cpp.

References mRecalcTexMatrix, mUScale, mVScale, and Ogre::Real.

Referenced by Ogre::parseScale().

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

Definition at line 560 of file OgreTextureUnitState.cpp.

References mRecalcTexMatrix, mUMod, mVMod, and Ogre::Real.

Referenced by Ogre::parseScroll().

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.

Definition at line 554 of file OgreTextureUnitState.cpp.

References mRecalcTexMatrix, and mTexModMatrix.

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

As setTextureScale, but sets only U value.

Note:
  Has no effect in the programmable pipeline.

Definition at line 650 of file OgreTextureUnitState.cpp.

References mRecalcTexMatrix, mUScale, and Ogre::Real.

Referenced by Ogre::Quake3Shader::createAsMaterial(), and Ogre::TexCoordModifierControllerValue::setValue().

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

As setTextureScroll, but sets only U value.

Note:
  Has no effect in the programmable pipeline.

Definition at line 638 of file OgreTextureUnitState.cpp.

References mRecalcTexMatrix, mUMod, and Ogre::Real.

Referenced by Ogre::TexCoordModifierControllerValue::setValue().

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

As setTextureScale, but sets only V value.

Note:
  Has no effect in the programmable pipeline.

Definition at line 656 of file OgreTextureUnitState.cpp.

References mRecalcTexMatrix, mVScale, and Ogre::Real.

Referenced by Ogre::Quake3Shader::createAsMaterial(), and Ogre::TexCoordModifierControllerValue::setValue().

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

As setTextureScroll, but sets only V value.

Note:
  Has no effect in the programmable pipeline.

Definition at line 644 of file OgreTextureUnitState.cpp.

References mRecalcTexMatrix, mVMod, and Ogre::Real.

Referenced by Ogre::TexCoordModifierControllerValue::setValue().

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.

Definition at line 701 of file OgreTextureUnitState.cpp.

References addEffect(), Ogre::TextureUnitState::TextureEffect::amplitude, Ogre::TextureUnitState::TextureEffect::base, ET_TRANSFORM, Ogre::TextureUnitState::TextureEffect::frequency, Ogre::TextureUnitState::TextureEffect::phase, Ogre::Real, removeEffect(), Ogre::TextureUnitState::TextureEffect::subtype, Ogre::TextureUnitState::TextureEffect::type, Ogre::WaveformType, and Ogre::TextureUnitState::TextureEffect::waveType.

Referenced by Ogre::Quake3Shader::createAsMaterial(), and Ogre::parseWaveXform().

## Friends And Related Function Documentation

friend class RenderSystem`[friend]`

| Definition at line 54 of file OgreTextureUnitState.h.

## Member Data Documentation

LayerBlendModeEx Ogre::TextureUnitState::alphaBlendMode`[protected]`

| Definition at line 907 of file OgreTextureUnitState.h. Referenced by getAlphaBlendMode(), setAlphaOperation(), and TextureUnitState().

SceneBlendFactor Ogre::TextureUnitState::colourBlendFallbackDest`[protected]`

| Definition at line 905 of file OgreTextureUnitState.h. Referenced by getColourBlendFallbackDest(), and setColourOpMultipassFallback().

SceneBlendFactor Ogre::TextureUnitState::colourBlendFallbackSrc`[protected]`

| Definition at line 904 of file OgreTextureUnitState.h. Referenced by getColourBlendFallbackSrc(), and setColourOpMultipassFallback().

LayerBlendModeEx Ogre::TextureUnitState::colourBlendMode`[protected]`

| Definition at line 903 of file OgreTextureUnitState.h. Referenced by getColourBlendMode(), setColourOperationEx(), and TextureUnitState().

TextureAddressingMode Ogre::TextureUnitState::mAddressMode`[protected]`

| Definition at line 901 of file OgreTextureUnitState.h. Referenced by getTextureAddressingMode(), and setTextureAddressingMode().

CompareFunction Ogre::TextureUnitState::mAlphaRejectFunc`[protected]`

| Definition at line 915 of file OgreTextureUnitState.h. Referenced by getAlphaRejectFunction(), setAlphaRejectSettings(), and TextureUnitState().

unsigned char Ogre::TextureUnitState::mAlphaRejectVal`[protected]`

| Definition at line 916 of file OgreTextureUnitState.h. Referenced by getAlphaRejectValue(), setAlphaRejectSettings(), and TextureUnitState().

Controller<Real>* Ogre::TextureUnitState::mAnimController`[protected]`

| Definition at line 896 of file OgreTextureUnitState.h. Referenced by createAnimController(), TextureUnitState(), and ~TextureUnitState().

Real Ogre::TextureUnitState::mAnimDuration`[protected]`

| Duration of animation in seconds. Definition at line 895 of file OgreTextureUnitState.h. Referenced by _load(), createAnimController(), getAnimationDuration(), setAnimatedTextureName(), and TextureUnitState().

bool Ogre::TextureUnitState::mCubic`[protected]`

| Definition at line 897 of file OgreTextureUnitState.h. Referenced by isCubic(), setAnimatedTextureName(), setCubicTextureName(), setTextureName(), and TextureUnitState().

unsigned int Ogre::TextureUnitState::mCurrentFrame`[protected]`

| The xurrent animation frame. Definition at line 891 of file OgreTextureUnitState.h. Referenced by getCurrentFrame(), getTextureName(), setAnimatedTextureName(), setCubicTextureName(), setCurrentFrame(), setTextureName(), and TextureUnitState().

EffectMap Ogre::TextureUnitState::mEffects`[protected]`

| Definition at line 942 of file OgreTextureUnitState.h. Referenced by _load(), Ogre::RenderSystem::_setTextureUnitSettings(), addEffect(), getEffects(), hasViewRelativeTextureCoordinateGeneration(), operator=(), removeAllEffects(), removeEffect(), and ~TextureUnitState().

String Ogre::TextureUnitState::mFrames[MAX_FRAMES]`[protected]`

| Definition at line 939 of file OgreTextureUnitState.h. Referenced by _load(), getFrameTextureName(), getTextureDimensions(), getTextureName(), operator=(), setAnimatedTextureName(), setCubicTextureName(), setTextureName(), and TextureUnitState().

bool Ogre::TextureUnitState::mIsBlank`[protected]`

| Definition at line 908 of file OgreTextureUnitState.h. Referenced by _load(), isBlank(), setBlank(), setTextureName(), and TextureUnitState().

bool Ogre::TextureUnitState::mIsDefaultAniso`[protected]`

| Definition at line 931 of file OgreTextureUnitState.h. Referenced by getTextureAnisotropy(), setTextureAnisotropy(), and TextureUnitState().

bool Ogre::TextureUnitState::mIsDefaultFiltering`[protected]`

| Definition at line 932 of file OgreTextureUnitState.h. Referenced by getTextureFiltering(), setTextureFiltering(), and TextureUnitState().

FilterOptions Ogre::TextureUnitState::mMagFilter`[protected]`

| Texture filtering - magnification. Definition at line 925 of file OgreTextureUnitState.h. Referenced by getTextureFiltering(), setTextureFiltering(), and TextureUnitState().

unsigned int Ogre::TextureUnitState::mMaxAniso`[protected]`

| Texture anisotropy. Definition at line 929 of file OgreTextureUnitState.h. Referenced by getTextureAnisotropy(), setTextureAnisotropy(), and TextureUnitState().

FilterOptions Ogre::TextureUnitState::mMinFilter`[protected]`

| Texture filtering - minification. Definition at line 923 of file OgreTextureUnitState.h. Referenced by getTextureFiltering(), setTextureFiltering(), and TextureUnitState().

FilterOptions Ogre::TextureUnitState::mMipFilter`[protected]`

| Texture filtering - mipmapping. Definition at line 927 of file OgreTextureUnitState.h. Referenced by getTextureFiltering(), setTextureFiltering(), and TextureUnitState().

unsigned int Ogre::TextureUnitState::mNumFrames`[protected]`

| Number of frames of animation, or frames making up cubic. Definition at line 889 of file OgreTextureUnitState.h. Referenced by _load(), getFrameTextureName(), getNumFrames(), operator=(), setAnimatedTextureName(), setCubicTextureName(), setCurrentFrame(), setTextureName(), and TextureUnitState().

Pass* Ogre::TextureUnitState::mParent`[protected]`

| Definition at line 883 of file OgreTextureUnitState.h. Referenced by _notifyNeedsRecompile(), isLoaded(), operator=(), setAnimatedTextureName(), setCubicTextureName(), setCurrentFrame(), setTextureName(), and TextureUnitState().

bool Ogre::TextureUnitState::mRecalcTexMatrix`[protected]`

| Definition at line 910 of file OgreTextureUnitState.h. Referenced by setTextureRotate(), setTextureScale(), setTextureScroll(), setTextureTransform(), setTextureUScale(), setTextureUScroll(), setTextureVScale(), setTextureVScroll(), and TextureUnitState().

Radian Ogre::TextureUnitState::mRotate`[protected]`

| Definition at line 913 of file OgreTextureUnitState.h. Referenced by getTextureRotate(), recalcTextureMatrix(), setTextureRotate(), and TextureUnitState().

Real Ogre::TextureUnitState::mRotateAnim`[protected]`

| Definition at line 920 of file OgreTextureUnitState.h.

Matrix4 Ogre::TextureUnitState::mTexModMatrix`[protected]`

| Definition at line 914 of file OgreTextureUnitState.h. Referenced by getTextureTransform(), recalcTextureMatrix(), setTextureTransform(), and TextureUnitState().

unsigned int Ogre::TextureUnitState::mTextureCoordSetIndex`[protected]`

| Definition at line 900 of file OgreTextureUnitState.h. Referenced by getTextureCoordSet(), setTextureCoordSet(), and TextureUnitState().

TextureType Ogre::TextureUnitState::mTextureType`[protected]`

| Definition at line 898 of file OgreTextureUnitState.h. Referenced by _load(), getTextureType(), is3D(), setCubicTextureName(), setTextureName(), and TextureUnitState().

Real Ogre::TextureUnitState::mUMod`[protected]`

| Definition at line 911 of file OgreTextureUnitState.h. Referenced by getTextureUScroll(), recalcTextureMatrix(), setTextureScroll(), setTextureUScroll(), and TextureUnitState().

Real Ogre::TextureUnitState::mUScale`[protected]`

| Definition at line 912 of file OgreTextureUnitState.h. Referenced by getTextureUScale(), recalcTextureMatrix(), setTextureScale(), setTextureUScale(), and TextureUnitState().

Real Ogre::TextureUnitState::mUScrollAnim`[protected]`

| Definition at line 919 of file OgreTextureUnitState.h.

Real Ogre::TextureUnitState::mVMod`[protected]`

| Definition at line 911 of file OgreTextureUnitState.h. Referenced by getTextureVScroll(), recalcTextureMatrix(), setTextureScroll(), setTextureVScroll(), and TextureUnitState().

Real Ogre::TextureUnitState::mVScale`[protected]`

| Definition at line 912 of file OgreTextureUnitState.h. Referenced by getTextureVScale(), recalcTextureMatrix(), setTextureScale(), setTextureVScale(), and TextureUnitState().

Real Ogre::TextureUnitState::mVScrollAnim`[protected]`

| Definition at line 919 of file OgreTextureUnitState.h.

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

- OgreTextureUnitState.h
- OgreTextureUnitState.cpp

Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:51:45 2004