Class representing the state of a single texture unit during a Pass of a Technique, of a Material. More...
#include <OgreTextureUnitState.h>
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... | |
Friends | |
class | RenderSystem |
Class representing the state of a single texture unit during a Pass of a Technique, of a Material.
Definition at line 62 of file OgreTextureUnitState.h.
typedef multimap<TextureEffectType, TextureEffect>::type Ogre::TextureUnitState::EffectMap |
Texture effects in a multimap paired array.
Definition at line 175 of file OgreTextureUnitState.h.
The type of unit to bind the texture settings to.
Definition at line 468 of file OgreTextureUnitState.h.
Enum identifying the type of content this texture unit contains.
Definition at line 487 of file OgreTextureUnitState.h.
Enumeration to specify type of envmap.
Definition at line 95 of file OgreTextureUnitState.h.
Texture addressing modes - default is TAM_WRAP.
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.
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.
Definition of the broad types of texture effect you can apply to a texture unit.
Definition at line 71 of file OgreTextureUnitState.h.
Useful enumeration when dealing with procedural transforms.
Enumerator | |
---|---|
TT_TRANSLATE_U | |
TT_TRANSLATE_V | |
TT_SCALE_U | |
TT_SCALE_V | |
TT_ROTATE |
Definition at line 112 of file OgreTextureUnitState.h.
Ogre::TextureUnitState::TextureUnitState | ( | Pass * | parent | ) |
Default constructor.
Ogre::TextureUnitState::TextureUnitState | ( | Pass * | parent, |
const TextureUnitState & | oth | ||
) |
Ogre::TextureUnitState::~TextureUnitState | ( | ) |
Default destructor.
Ogre::TextureUnitState::TextureUnitState | ( | Pass * | parent, |
const String & | texName, | ||
unsigned int | texCoordSet = 0 |
||
) |
Name-based constructor.
texName | The basic name of the texture e.g. brickwall.jpg, stonefloor.png. |
texCoordSet | The index of the texture coordinate set to use. |
|
inline |
Gets the animation controller (as created because of setAnimatedTexture) if it exists.
Definition at line 1212 of file OgreTextureUnitState.h.
const TexturePtr& Ogre::TextureUnitState::_getTexturePtr | ( | void | ) | const |
Get the texture pointer for the current frame.
const TexturePtr& Ogre::TextureUnitState::_getTexturePtr | ( | size_t | frame | ) | const |
Get the texture pointer for a given frame.
void Ogre::TextureUnitState::_load | ( | void | ) |
Internal method for loading this object as part of Material::load.
void Ogre::TextureUnitState::_notifyNeedsRecompile | ( | void | ) |
Tells the class that it needs recompilation.
void Ogre::TextureUnitState::_notifyParent | ( | Pass * | parent | ) |
Notify this object that its parent has changed.
void Ogre::TextureUnitState::_prepare | ( | void | ) |
Internal method for preparing this object for load, as part of Material::prepare.
void Ogre::TextureUnitState::_setTexturePtr | ( | const TexturePtr & | texptr | ) |
Set the texture pointer for the current frame (internal use only!).
void Ogre::TextureUnitState::_setTexturePtr | ( | const TexturePtr & | texptr, |
size_t | frame | ||
) |
Set the texture pointer for a given frame (internal use only!).
void Ogre::TextureUnitState::_unload | ( | void | ) |
Internal method for unloading this object as part of Material::unload.
void Ogre::TextureUnitState::_unprepare | ( | void | ) |
Internal method for undoing the preparation this object as part of Material::unprepare.
void Ogre::TextureUnitState::addEffect | ( | TextureEffect & | effect | ) |
Generic method for setting up texture effects.
void Ogre::TextureUnitState::addFrameTextureName | ( | const String & | name | ) |
Add a Texture name to the end of the frame container.
name | The name of the texture. |
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.
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. |
size_t Ogre::TextureUnitState::calculateSize | ( | void | ) | const |
|
protected |
Internal method for creating animation controller.
|
protected |
Internal method for creating texture effect controller.
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.
frameNumber | The frame number of the texture to be deleted. |
|
protected |
Internal method for ensuring the texture for a given frame is loaded.
|
protected |
Internal method for ensuring the texture for a given frame is prepared.
const LayerBlendModeEx& Ogre::TextureUnitState::getAlphaBlendMode | ( | void | ) | const |
Get multitexturing alpha blending mode.
Real Ogre::TextureUnitState::getAnimationDuration | ( | void | ) | const |
Get the animated-texture animation duration.
BindingType Ogre::TextureUnitState::getBindingType | ( | void | ) | const |
Gets the type of unit these texture settings should be bound to.
SceneBlendFactor Ogre::TextureUnitState::getColourBlendFallbackDest | ( | void | ) | const |
Get the multipass fallback for colour blending operation destination factor.
SceneBlendFactor Ogre::TextureUnitState::getColourBlendFallbackSrc | ( | void | ) | const |
Get the multipass fallback for colour blending operation source factor.
const LayerBlendModeEx& Ogre::TextureUnitState::getColourBlendMode | ( | void | ) | const |
Get multitexturing colour blending mode.
ContentType Ogre::TextureUnitState::getContentType | ( | void | ) | const |
Get the type of content this TextureUnitState references.
unsigned int Ogre::TextureUnitState::getCurrentFrame | ( | void | ) | const |
Gets the active frame in an animated or multi-image texture layer.
PixelFormat Ogre::TextureUnitState::getDesiredFormat | ( | void | ) | const |
Gets the desired pixel format when load the texture.
const EffectMap& Ogre::TextureUnitState::getEffects | ( | void | ) | const |
Get texture effects in a multimap paired array.
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.
|
inline |
Returns the gamma adjustment factor applied to this texture on loading.
Definition at line 566 of file OgreTextureUnitState.h.
bool Ogre::TextureUnitState::getIsAlpha | ( | void | ) | const |
Gets whether this texture is requested to be loaded as alpha if single channel.
|
inline |
Get the name of the Texture Unit State.
Definition at line 1167 of file OgreTextureUnitState.h.
unsigned int Ogre::TextureUnitState::getNumFrames | ( | void | ) | const |
Gets the number of frames for a texture.
int Ogre::TextureUnitState::getNumMipmaps | ( | void | ) | const |
Gets how many mipmaps have been requested for the texture.
|
inline |
Gets the parent Pass object.
Definition at line 1142 of file OgreTextureUnitState.h.
|
inline |
Gets the name of the compositor that this texture referneces.
Definition at line 1135 of file OgreTextureUnitState.h.
|
inline |
Gets the MRT index of the texture in the compositor that this texture references.
Definition at line 1139 of file OgreTextureUnitState.h.
|
inline |
Gets the name of the texture in the compositor that this texture references.
Definition at line 1137 of file OgreTextureUnitState.h.
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.
unsigned int Ogre::TextureUnitState::getTextureAnisotropy | ( | ) | const |
Get this layer texture anisotropy level.
const ColourValue& Ogre::TextureUnitState::getTextureBorderColour | ( | void | ) | const |
Sets the texture border colour.
bool Ogre::TextureUnitState::getTextureCompareEnabled | ( | ) | const |
CompareFunction Ogre::TextureUnitState::getTextureCompareFunction | ( | ) | const |
unsigned int Ogre::TextureUnitState::getTextureCoordSet | ( | void | ) | const |
Gets the index of the set of texture co-ords this layer uses.
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.
FilterOptions Ogre::TextureUnitState::getTextureFiltering | ( | FilterType | ftpye | ) | const |
Get the texture filtering for the given type.
|
inline |
Gets the bias value applied to the mipmap calculation.
Definition at line 1120 of file OgreTextureUnitState.h.
const String& Ogre::TextureUnitState::getTextureName | ( | void | ) | const |
Get the name of current texture image for this layer.
|
inline |
Gets the Texture Name Alias of the Texture Unit.
Definition at line 1176 of file OgreTextureUnitState.h.
const Radian& Ogre::TextureUnitState::getTextureRotate | ( | void | ) | const |
Get texture rotation effects angle value.
const Matrix4& Ogre::TextureUnitState::getTextureTransform | ( | void | ) | const |
Gets the current texture transformation matrix.
TextureType Ogre::TextureUnitState::getTextureType | ( | void | ) | const |
Returns the type of this texture.
Real Ogre::TextureUnitState::getTextureUScale | ( | void | ) | const |
Get texture uscale value.
Real Ogre::TextureUnitState::getTextureUScroll | ( | void | ) | const |
Get texture uscroll value.
Real Ogre::TextureUnitState::getTextureVScale | ( | void | ) | const |
Get texture vscale value.
Real Ogre::TextureUnitState::getTextureVScroll | ( | void | ) | const |
Get texture vscroll value.
bool Ogre::TextureUnitState::hasViewRelativeTextureCoordinateGeneration | ( | void | ) | const |
Returns whether this unit has texture coordinate generation that depends on the camera.
bool Ogre::TextureUnitState::is3D | ( | void | ) | const |
Returns true if this texture layer uses a composite 3D cubic texture.
bool Ogre::TextureUnitState::isBlank | ( | void | ) | const |
Determines if this texture layer is currently blank.
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.
bool Ogre::TextureUnitState::isHardwareGammaEnabled | ( | ) | const |
Gets whether this texture will be set up so that on sampling it, hardware gamma correction is applied.
bool Ogre::TextureUnitState::isLoaded | ( | void | ) | const |
Is this loaded?
|
inline |
Tests if the texture associated with this unit has failed to load.
Definition at line 1042 of file OgreTextureUnitState.h.
|
inlineinherited |
Definition at line 96 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 102 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
operator new, with debug line info
Definition at line 68 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 73 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
array operator new, with debug line info
Definition at line 86 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 91 of file OgreMemoryAllocatedObject.h.
TextureUnitState& Ogre::TextureUnitState::operator= | ( | const TextureUnitState & | oth | ) |
|
protected |
Internal method for calculating texture matrix.
void Ogre::TextureUnitState::removeAllEffects | ( | void | ) |
Removes all effects applied to this texture layer.
void Ogre::TextureUnitState::removeEffect | ( | const TextureEffectType | type | ) |
Removes a single effect applied to this texture layer.
|
inline |
Tells the unit to retry loading the texture if it had failed to load.
Definition at line 1046 of file OgreTextureUnitState.h.
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.
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 |
void Ogre::TextureUnitState::setAnimatedTextureName | ( | const String & | name, |
unsigned int | numFrames, | ||
Real | duration = 0 |
||
) |
Sets the names of the texture images for an animated texture.
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. |
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.
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. |
void Ogre::TextureUnitState::setBindingType | ( | BindingType | bt | ) |
Sets the type of unit these texture settings should be bound to.
void Ogre::TextureUnitState::setBlank | ( | void | ) |
Sets this texture layer to be blank.
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).
op | One of the LayerBlendOperation enumerated blending types. |
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.
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. |
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.
void Ogre::TextureUnitState::setCompositorReference | ( | const String & | compositorName, |
const String & | textureName, | ||
size_t | mrtIndex = 0 |
||
) |
Set the compositor reference for this texture unit state.
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. |
void Ogre::TextureUnitState::setContentType | ( | ContentType | ct | ) |
Set the type of content this TextureUnitState references.
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.
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.
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. |
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.
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.
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. |
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.
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.
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. |
void Ogre::TextureUnitState::setCurrentFrame | ( | unsigned int | frameNumber | ) |
Changes the active frame in an animated or multi-image texture.
void Ogre::TextureUnitState::setDesiredFormat | ( | PixelFormat | desiredFormat | ) |
Sets the desired pixel format when load the texture.
void Ogre::TextureUnitState::setEnvironmentMap | ( | bool | enable, |
EnvMapType | envMapType = ENV_CURVED |
||
) |
Turns on/off texture coordinate effect that makes this layer an environment map.
enable | True to enable, false to disable |
envMapType | The type of environment mapping to perform. Planar, curved, reflection or normal. |
void Ogre::TextureUnitState::setFrameTextureName | ( | const String & | name, |
unsigned int | frameNumber | ||
) |
Sets the name of the texture associated with a frame.
name | The name of the texture. |
frameNumber | The frame the texture name is to be placed in. |
|
inline |
Sets the gamma adjustment factor applied to this texture on loading the data.
Definition at line 568 of file OgreTextureUnitState.h.
void Ogre::TextureUnitState::setHardwareGammaEnabled | ( | bool | enabled | ) |
Sets whether this texture will be set up so that on sampling it, hardware gamma correction is applied.
void Ogre::TextureUnitState::setIsAlpha | ( | bool | isAlpha | ) |
Sets whether this texture is requested to be loaded as alpha if single channel.
void Ogre::TextureUnitState::setName | ( | const String & | name | ) |
void Ogre::TextureUnitState::setNumMipmaps | ( | int | numMipmaps | ) |
Sets how many mipmaps have been requested for the texture.
void Ogre::TextureUnitState::setProjectiveTexturing | ( | bool | enabled, |
const Frustum * | projectionSettings = 0 |
||
) |
Enables or disables projective texturing on this texture unit.
enabled | Whether to enable / disable. |
projectionSettings | The Frustum which will be used to derive the projection parameters. |
void Ogre::TextureUnitState::setRotateAnimation | ( | Real | speed | ) |
Sets up an animated texture rotation for this layer.
speed | The number of complete anticlockwise revolutions per second (use -ve for clockwise) |
Sets up an animated scroll for the texture layer.
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). |
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.
void Ogre::TextureUnitState::setTextureAddressingMode | ( | TextureAddressingMode | tam | ) |
Sets the texture addressing mode, i.e.
what happens at uv values above 1.0.
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.
void Ogre::TextureUnitState::setTextureAddressingMode | ( | const UVWAddressingMode & | uvw | ) |
Sets the texture addressing mode, i.e.
what happens at uv values above 1.0.
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). |
void Ogre::TextureUnitState::setTextureBorderColour | ( | const ColourValue & | colour | ) |
Sets the texture border colour.
void Ogre::TextureUnitState::setTextureCompareEnabled | ( | bool | enabled | ) |
void Ogre::TextureUnitState::setTextureCompareFunction | ( | CompareFunction | function | ) |
void Ogre::TextureUnitState::setTextureCoordSet | ( | unsigned int | set | ) |
Sets the index of the set of texture co-ords this layer uses.
void Ogre::TextureUnitState::setTextureFiltering | ( | TextureFilterOptions | filterType | ) |
Set the texture filtering for this unit, using the simplified interface.
filterType | The high-level filter type to use. |
void Ogre::TextureUnitState::setTextureFiltering | ( | FilterType | ftype, |
FilterOptions | opts | ||
) |
Set a single filtering option on this texture unit.
ftype | The filtering type to set. |
opts | The filtering option to set. |
void Ogre::TextureUnitState::setTextureFiltering | ( | FilterOptions | minFilter, |
FilterOptions | magFilter, | ||
FilterOptions | mipFilter | ||
) |
Set a the detailed filtering options on this texture unit.
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). |
|
inline |
Sets the bias value applied to the mipmap calculation.
bias | The bias value as described above, can be positive or negative. |
Definition at line 1116 of file OgreTextureUnitState.h.
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.
void Ogre::TextureUnitState::setTextureNameAlias | ( | const String & | name | ) |
Set the alias name used for texture frame names.
name | Can be any sequence of characters and does not have to be unique. |
void Ogre::TextureUnitState::setTextureRotate | ( | const Radian & | angle | ) |
Sets the anticlockwise rotation factor applied to texture coordinates.
angle | The angle of rotation (anticlockwise). |
Sets the scaling factor applied to texture coordinates.
uScale | The value by which the texture is to be scaled horizontally. |
vScale | The value by which the texture is to be scaled vertically. |
Sets the translation offset of the texture, ie scrolls the texture.
u | The amount the texture should be moved horizontally (u direction). |
v | The amount the texture should be moved vertically (v direction). |
void Ogre::TextureUnitState::setTextureTransform | ( | const Matrix4 & | xform | ) |
Sets a matrix used to transform any texture coordinates on this layer.
void Ogre::TextureUnitState::setTextureUScale | ( | Real | value | ) |
As setTextureScale, but sets only U value.
void Ogre::TextureUnitState::setTextureUScroll | ( | Real | value | ) |
As setTextureScroll, but sets only U value.
void Ogre::TextureUnitState::setTextureVScale | ( | Real | value | ) |
As setTextureScale, but sets only V value.
void Ogre::TextureUnitState::setTextureVScroll | ( | Real | value | ) |
As setTextureScroll, but sets only V value.
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.
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. |
|
friend |
Definition at line 64 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1227 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1234 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1289 of file OgreTextureUnitState.h.
|
protected |
Duration of animation in seconds.
Definition at line 1219 of file OgreTextureUnitState.h.
|
protected |
Binding type (fragment or vertex pipeline).
Definition at line 1264 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1228 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1232 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1231 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1230 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1253 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1254 of file OgreTextureUnitState.h.
|
protected |
The index of the referenced texture if referencing an MRT in a compositor.
Definition at line 1268 of file OgreTextureUnitState.h.
|
protected |
The data that references the compositor.
Definition at line 1280 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1281 of file OgreTextureUnitState.h.
|
protected |
Content type of texture (normal loaded texture, auto-texture).
Definition at line 1266 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1220 of file OgreTextureUnitState.h.
|
protected |
The current animation frame.
Definition at line 1216 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1223 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1278 of file OgreTextureUnitState.h.
|
mutableprotected |
Definition at line 1275 of file OgreTextureUnitState.h.
Definition at line 1274 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1238 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1237 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1236 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1261 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1262 of file OgreTextureUnitState.h.
|
protected |
Texture filtering - magnification.
Definition at line 1249 of file OgreTextureUnitState.h.
|
protected |
Texture anisotropy.
Definition at line 1257 of file OgreTextureUnitState.h.
|
protected |
Texture filtering - minification.
Definition at line 1247 of file OgreTextureUnitState.h.
|
protected |
Texture filtering - mipmapping.
Definition at line 1251 of file OgreTextureUnitState.h.
|
protected |
Mipmap bias (always float, not Real).
Definition at line 1259 of file OgreTextureUnitState.h.
|
protected |
Optional name for the TUS.
Definition at line 1276 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1288 of file OgreTextureUnitState.h.
|
mutableprotected |
Definition at line 1240 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1243 of file OgreTextureUnitState.h.
|
mutableprotected |
Definition at line 1244 of file OgreTextureUnitState.h.
|
protected |
Request number of mipmaps.
Definition at line 1226 of file OgreTextureUnitState.h.
|
mutableprotected |
Definition at line 1235 of file OgreTextureUnitState.h.
|
protected |
Optional alias for texture frames.
Definition at line 1277 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1224 of file OgreTextureUnitState.h.
|
protected |
Is this a series of 6 2D textures to make up a cube?
Definition at line 1222 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1241 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1242 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1241 of file OgreTextureUnitState.h.
|
protected |
Definition at line 1242 of file OgreTextureUnitState.h.