#include <spMorphTargetAnimation.hpp>
Public Member Functions | |
| MorphTargetAnimation () | |
| virtual | ~MorphTargetAnimation () |
| void | addKeyframeSequence (video::MeshBuffer *Surface, u32 Index, const std::vector< SVertexKeyframe > &Keyframes) |
| void | removeKeyframeSequence (video::MeshBuffer *Surface, u32 Index) |
| Remvoes all keyframes of the specifies vertex. | |
| void | clearKeyframes () |
| Clears all keyframes. | |
| virtual void | setupManualAnimation (SceneNode *Node) |
| virtual void | updateAnimation (SceneNode *Node) |
| virtual u32 | getKeyframeCount () const |
| Returns the count of keyframes. | |
| virtual void | interpolate (u32 IndexFrom, u32 IndexTo, f32 Interpolation) |
| Makes an interpolation between the two given frames. | |
| virtual void | copy (const Animation *Other) |
Morph-Target animations interpolate each vertex of its mesh. This is a technique used by the games "Quake 1", "Quake 2" and "Quake III Arena". The 'SoftPixel Engine' supports this animation model innately for the MD2 and MD3 file formats.
| sp::scene::MorphTargetAnimation::MorphTargetAnimation | ( | ) |
| sp::scene::MorphTargetAnimation::~MorphTargetAnimation | ( | ) | [virtual] |
| void sp::scene::MorphTargetAnimation::addKeyframeSequence | ( | video::MeshBuffer * | Surface, | |
| u32 | Index, | |||
| const std::vector< SVertexKeyframe > & | Keyframes | |||
| ) |
Adds a sequence of keyframes for the specified vertex. Because of performance efficiency you have to add all keyframes for each vertex at once.
| Surface,: | Specifies the MeshBuffer object to which the vertex belongs. | |
| Index,: | Specifies the vertex index. | |
| Keyframes,: | Specifies the container with all keyframe data (coordinate and normal). |
| void sp::scene::MorphTargetAnimation::clearKeyframes | ( | ) | [virtual] |
Clears all keyframes.
Implements sp::scene::Animation.
| void sp::scene::MorphTargetAnimation::copy | ( | const Animation * | Other | ) | [virtual] |
Copies the whole animation.
TODO!
Implements sp::scene::Animation.
| u32 sp::scene::MorphTargetAnimation::getKeyframeCount | ( | ) | const [virtual] |
Returns the count of keyframes.
Implements sp::scene::Animation.
| void sp::scene::MorphTargetAnimation::interpolate | ( | u32 | IndexFrom, | |
| u32 | IndexTo, | |||
| f32 | Interpolation | |||
| ) | [virtual] |
Makes an interpolation between the two given frames.
Implements sp::scene::Animation.
| void sp::scene::MorphTargetAnimation::removeKeyframeSequence | ( | video::MeshBuffer * | Surface, | |
| u32 | Index | |||
| ) |
Remvoes all keyframes of the specifies vertex.
| void sp::scene::MorphTargetAnimation::setupManualAnimation | ( | SceneNode * | Node | ) | [virtual] |
| void sp::scene::MorphTargetAnimation::updateAnimation | ( | scene::SceneNode * | Node | ) | [virtual] |
Updates the morph target animation. If the animation is playing all keyframes will be performed.
| Object,: | This must be a Mesh scene node. Otherwise the function will do nothing. |
Implements sp::scene::Animation.
1.7.1