Classes | |
class | Ogre::AnimableObject |
Defines an interface to classes which have one or more AnimableValue instances to expose. More... | |
class | Ogre::AnimableValue |
Defines an object property which is animable, i.e. More... | |
class | Ogre::Animation |
An animation sequence. More... | |
class | Ogre::AnimationContainer |
An animation container interface, which allows generic access to sibling animations. More... | |
class | Ogre::AnimationState |
Represents the state of an animation and the weight of its influence. More... | |
class | Ogre::AnimationStateControllerValue |
ControllerValue wrapper class for AnimationState. More... | |
class | Ogre::AnimationStateSet |
Class encapsulating a set of AnimationState objects. More... | |
class | Ogre::AnimationTrack |
A 'track' in an animation sequence, i.e. More... | |
class | Ogre::Bone |
A bone in a skeleton. More... | |
class | Ogre::KeyFrame |
A key frame in an animation sequence defined by an AnimationTrack. More... | |
struct | Ogre::LinkedSkeletonAnimationSource |
Link to another skeleton to share animations. More... | |
class | Ogre::NodeAnimationTrack |
Specialised AnimationTrack for dealing with node transforms. More... | |
class | Ogre::NumericAnimationTrack |
Specialised AnimationTrack for dealing with generic animable values. More... | |
class | Ogre::NumericKeyFrame |
Specialised KeyFrame which stores any numeric value. More... | |
class | Ogre::Pose |
A pose is a linked set of vertex offsets applying to one set of vertex data. More... | |
class | Ogre::Skeleton |
A collection of Bone objects used to animate a skinned mesh. More... | |
class | Ogre::SkeletonManager |
Handles the management of skeleton resources. More... | |
class | Ogre::SkeletonPtr |
Specialisation of SharedPtr to allow SharedPtr to be assigned to SkeletonPtr. More... | |
class | Ogre::SkeletonSerializer |
Class for serialising skeleton data to/from an OGRE .skeleton file. More... | |
class | Ogre::TagPoint |
A tagged point on a skeleton, which can be used to attach entities to on specific other entities. More... | |
class | Ogre::TimeIndex |
Time index object used to search keyframe at the given position. More... | |
class | Ogre::TransformKeyFrame |
Specialised KeyFrame which stores a full transform. More... | |
class | Ogre::VertexAnimationTrack |
Specialised AnimationTrack for dealing with changing vertex position information. More... | |
struct | Ogre::VertexBoneAssignment_s |
Records the assignment of a single vertex to a single bone with the corresponding weight. More... | |
class | Ogre::VertexMorphKeyFrame |
Specialised KeyFrame which stores absolute vertex positions for a complete buffer, designed to be interpolated with other keys in the same track. More... | |
class | Ogre::VertexPoseKeyFrame |
Specialised KeyFrame which references a Mesh::Pose at a certain influence level, which stores offsets for a subset of the vertices in a buffer to provide a blendable pose. More... | |
Macros | |
#define | OGRE_MAX_NUM_BONES 256 |
Typedefs | |
typedef SharedPtr< AnimableValue > | Ogre::AnimableValuePtr |
typedef MapIterator < AnimationStateMap > | Ogre::AnimationStateIterator |
typedef map< String, AnimationState * >::type | Ogre::AnimationStateMap |
typedef ConstMapIterator < AnimationStateMap > | Ogre::ConstAnimationStateIterator |
typedef ConstVectorIterator < EnabledAnimationStateList > | Ogre::ConstEnabledAnimationStateIterator |
typedef list< AnimationState * > ::type | Ogre::EnabledAnimationStateList |
typedef vector< Pose * >::type | Ogre::PoseList |
typedef struct Ogre::VertexBoneAssignment_s | Ogre::VertexBoneAssignment |
Records the assignment of a single vertex to a single bone with the corresponding weight. More... | |
Enumerations | |
enum | Ogre::SkeletonAnimationBlendMode { Ogre::ANIMBLEND_AVERAGE = 0, Ogre::ANIMBLEND_CUMULATIVE = 1 } |
enum | Ogre::SkeletonChunkID { Ogre::SKELETON_HEADER = 0x1000, Ogre::SKELETON_BLENDMODE = 0x1010, Ogre::SKELETON_BONE = 0x2000, Ogre::SKELETON_BONE_PARENT = 0x3000, Ogre::SKELETON_ANIMATION = 0x4000, Ogre::SKELETON_ANIMATION_BASEINFO = 0x4010, Ogre::SKELETON_ANIMATION_TRACK = 0x4100, Ogre::SKELETON_ANIMATION_TRACK_KEYFRAME = 0x4110, Ogre::SKELETON_ANIMATION_LINK = 0x5000 } |
Definition of the OGRE .skeleton file format. More... | |
enum | Ogre::VertexAnimationType { Ogre::VAT_NONE = 0, Ogre::VAT_MORPH = 1, Ogre::VAT_POSE = 2 } |
Type of vertex animation. More... | |
#define OGRE_MAX_NUM_BONES 256 |
Definition at line 57 of file OgreSkeleton.h.
typedef SharedPtr<AnimableValue> Ogre::AnimableValuePtr |
Definition at line 231 of file OgreAnimable.h.
typedef MapIterator<AnimationStateMap> Ogre::AnimationStateIterator |
Definition at line 187 of file OgreAnimationState.h.
typedef map<String, AnimationState*>::type Ogre::AnimationStateMap |
Definition at line 186 of file OgreAnimationState.h.
typedef ConstMapIterator<AnimationStateMap> Ogre::ConstAnimationStateIterator |
Definition at line 188 of file OgreAnimationState.h.
typedef ConstVectorIterator<EnabledAnimationStateList> Ogre::ConstEnabledAnimationStateIterator |
Definition at line 191 of file OgreAnimationState.h.
typedef list<AnimationState*>::type Ogre::EnabledAnimationStateList |
Definition at line 190 of file OgreAnimationState.h.
typedef vector<Pose*>::type Ogre::PoseList |
Definition at line 135 of file OgrePose.h.
typedef struct Ogre::VertexBoneAssignment_s Ogre::VertexBoneAssignment |
Records the assignment of a single vertex to a single bone with the corresponding weight.
Enumerator | |
---|---|
ANIMBLEND_AVERAGE |
Animations are applied by calculating a weighted average of all animations. |
ANIMBLEND_CUMULATIVE |
Animations are applied by calculating a weighted cumulative total. |
Definition at line 50 of file OgreSkeleton.h.
Definition of the OGRE .skeleton file format.
.skeleton files are binary files (for read efficiency at runtime) and are arranged into chunks of data, very like 3D Studio's format. A chunk always consists of: unsigned short CHUNK_ID : one of the following chunk ids identifying the chunk unsigned long LENGTH : length of the chunk in bytes, including this header void* DATA : the data, which may contain other sub-chunks (various data types)
A .skeleton file contains both the definition of the Skeleton object and the animations it contains. It contains only a single skeleton but can contain multiple animations.
Definition at line 55 of file OgreSkeletonFileFormat.h.
Type of vertex animation.
Vertex animation comes in 2 types, morph and pose. The reason for the 2 types is that we have 2 different potential goals - to encapsulate a complete, flowing morph animation with multiple keyframes (a typical animation, but implemented by having snapshots of the vertex data at each keyframe), or to represent a single pose change, for example a facial expression. Whilst both could in fact be implemented using the same system, we choose to separate them since the requirements and limitations of each are quite different.
Enumerator | |
---|---|
VAT_NONE |
No animation. |
VAT_MORPH |
Morph animation is made up of many interpolated snapshot keyframes. |
VAT_POSE |
Pose animation is made up of a single delta pose keyframe. |
Definition at line 467 of file OgreAnimationTrack.h.