OGRE-Next
3.0.0
Object-Oriented Graphics Rendering Engine
|
Class for managing Controller instances. More...
#include <OgreControllerManager.h>
Public Member Functions | |
ControllerManager () | |
~ControllerManager () | |
void | clearControllers () |
Destroys all the controllers in existence. More... | |
Controller< Real > * | createController (const ControllerValueRealPtr &src, const ControllerValueRealPtr &dest, const ControllerFunctionRealPtr &func) |
Creates a new controller and registers it with the manager. More... | |
Controller< Real > * | createFrameTimePassthroughController (const ControllerValueRealPtr &dest) |
Creates a new controller use frame time source and passthrough controller function. More... | |
Controller< Real > * | createGpuProgramTimerParam (GpuProgramParametersSharedPtr params, size_t paramIndex, Real timeFactor=1.0f) |
Creates a controller for passing a frame time value through to a vertex / fragment program parameter. More... | |
Controller< Real > * | createTextureAnimator (TextureUnitState *layer, Real sequenceTime) |
Creates a texture layer animator controller. More... | |
Controller< Real > * | createTextureRotater (TextureUnitState *layer, Real speed) |
Creates a basic time-based texture coordinate modifier designed for creating rotating textures. More... | |
Controller< Real > * | createTextureUScroller (TextureUnitState *layer, Real uSpeed) |
Creates a basic time-based texture u coordinate modifier designed for creating scrolling textures. More... | |
Controller< Real > * | createTextureUVScroller (TextureUnitState *layer, Real speed) |
Creates a basic time-based texture uv coordinate modifier designed for creating scrolling textures. More... | |
Controller< Real > * | createTextureVScroller (TextureUnitState *layer, Real vSpeed) |
Creates a basic time-based texture v coordinate modifier designed for creating scrolling textures. More... | |
Controller< Real > * | createTextureWaveTransformer (TextureUnitState *layer, TextureUnitState::TextureTransformType ttype, WaveformType waveType, Real base=0, Real frequency=1, Real phase=0, Real amplitude=1) |
Creates a very flexible time-based texture transformation which can alter the scale, position or rotation of a texture based on a wave function. More... | |
void | destroyController (Controller< Real > *controller) |
Removes & destroys the controller passed in as a pointer. More... | |
Real | getElapsedTime () const |
Return the elapsed time. More... | |
Real | getFrameDelay () const |
Gets the constant that is added to time lapsed between each frame. More... | |
const ControllerValueRealPtr & | getFrameTimeSource () const |
Returns a ControllerValue which provides the time since the last frame as a control value source. More... | |
const ControllerFunctionRealPtr & | getPassthroughControllerFunction () const |
Retrieve a simple passthrough controller function. More... | |
Real | getTimeFactor () const |
Return relative speed of time as perceived by time based controllers. More... | |
void | setElapsedTime (Real elapsedTime) |
Set the elapsed time. More... | |
void | setFrameDelay (Real fd) |
Sets a constant frame rate. More... | |
void | setTimeFactor (Real tf) |
Set the relative speed to update frame time based controllers. More... | |
void | updateAllControllers () |
Updates all the registered controllers. More... | |
Public Member Functions inherited from Ogre::Singleton< ControllerManager > | |
Singleton () | |
~Singleton () | |
Static Public Member Functions | |
static ControllerManager & | getSingleton () |
Override standard Singleton retrieval. More... | |
static ControllerManager * | getSingletonPtr () |
Override standard Singleton retrieval. More... | |
Static Public Member Functions inherited from Ogre::Singleton< ControllerManager > | |
static ControllerManager & | getSingleton () |
static ControllerManager * | getSingletonPtr () |
Class for managing Controller instances.
Ogre::ControllerManager::ControllerManager | ( | ) |
Ogre::ControllerManager::~ControllerManager | ( | ) |
void Ogre::ControllerManager::clearControllers | ( | ) |
Destroys all the controllers in existence.
Controller<Real>* Ogre::ControllerManager::createController | ( | const ControllerValueRealPtr & | src, |
const ControllerValueRealPtr & | dest, | ||
const ControllerFunctionRealPtr & | func | ||
) |
Creates a new controller and registers it with the manager.
Controller<Real>* Ogre::ControllerManager::createFrameTimePassthroughController | ( | const ControllerValueRealPtr & | dest | ) |
Creates a new controller use frame time source and passthrough controller function.
Controller<Real>* Ogre::ControllerManager::createGpuProgramTimerParam | ( | GpuProgramParametersSharedPtr | params, |
size_t | paramIndex, | ||
Real | timeFactor = 1.0f |
||
) |
Creates a controller for passing a frame time value through to a vertex / fragment program parameter.
params | The parameters to update. |
paramIndex | The index of the parameter to update; if you want a named parameter, then retrieve the index beforehand using GpuProgramParameters::getParamIndex. |
timeFactor | The factor by which to adjust the time elapsed by before passing it to the program. |
Controller<Real>* Ogre::ControllerManager::createTextureAnimator | ( | TextureUnitState * | layer, |
Real | sequenceTime | ||
) |
Creates a texture layer animator controller.
layer | TextureUnitState object to animate |
sequenceTime | The amount of time in seconds it will take to loop through all the frames. |
Controller<Real>* Ogre::ControllerManager::createTextureRotater | ( | TextureUnitState * | layer, |
Real | speed | ||
) |
Creates a basic time-based texture coordinate modifier designed for creating rotating textures.
layer | The texture layer to rotate. |
speed | Speed of rotation, in complete anticlockwise revolutions per second. |
Controller<Real>* Ogre::ControllerManager::createTextureUScroller | ( | TextureUnitState * | layer, |
Real | uSpeed | ||
) |
Creates a basic time-based texture u coordinate modifier designed for creating scrolling textures.
layer | The texture layer to animate. |
uSpeed | Speed of horizontal (u-coord) scroll, in complete wraps per second. |
Controller<Real>* Ogre::ControllerManager::createTextureUVScroller | ( | TextureUnitState * | layer, |
Real | speed | ||
) |
Creates a basic time-based texture uv coordinate modifier designed for creating scrolling textures.
layer | The texture layer to animate. |
speed | Speed of horizontal (u-coord) and vertical (v-coord) scroll, in complete wraps per second. |
Controller<Real>* Ogre::ControllerManager::createTextureVScroller | ( | TextureUnitState * | layer, |
Real | vSpeed | ||
) |
Creates a basic time-based texture v coordinate modifier designed for creating scrolling textures.
layer | The texture layer to animate. |
vSpeed | Speed of vertical (v-coord) scroll, in complete wraps per second. |
Controller<Real>* Ogre::ControllerManager::createTextureWaveTransformer | ( | TextureUnitState * | layer, |
TextureUnitState::TextureTransformType | ttype, | ||
WaveformType | waveType, | ||
Real | base = 0 , |
||
Real | frequency = 1 , |
||
Real | phase = 0 , |
||
Real | amplitude = 1 |
||
) |
Creates a very flexible time-based texture transformation which can alter the scale, position or rotation of a texture based on a wave function.
layer | The texture layer to affect. |
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 of the output. |
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. |
void Ogre::ControllerManager::destroyController | ( | Controller< Real > * | controller | ) |
Removes & destroys the controller passed in as a pointer.
Real Ogre::ControllerManager::getElapsedTime | ( | ) | const |
Return the elapsed time.
Real Ogre::ControllerManager::getFrameDelay | ( | ) | const |
Gets the constant that is added to time lapsed between each frame.
const ControllerValueRealPtr& Ogre::ControllerManager::getFrameTimeSource | ( | ) | const |
Returns a ControllerValue which provides the time since the last frame as a control value source.
const ControllerFunctionRealPtr& Ogre::ControllerManager::getPassthroughControllerFunction | ( | ) | const |
Retrieve a simple passthrough controller function.
|
static |
Override standard Singleton retrieval.
|
static |
Override standard Singleton retrieval.
Real Ogre::ControllerManager::getTimeFactor | ( | ) | const |
Return relative speed of time as perceived by time based controllers.
void Ogre::ControllerManager::setElapsedTime | ( | Real | elapsedTime | ) |
Set the elapsed time.
elapsedTime | The new elapsed time. |
void Ogre::ControllerManager::setFrameDelay | ( | Real | fd | ) |
Sets a constant frame rate.
fd | The delay in seconds wanted between each frame (1.0f / 25.0f means a seconds worth of animation is done in 25 frames). |
void Ogre::ControllerManager::setTimeFactor | ( | Real | tf | ) |
Set the relative speed to update frame time based controllers.
tf | The virtual speed of time (1.0 is real time). |
void Ogre::ControllerManager::updateAllControllers | ( | ) |
Updates all the registered controllers.