OGRE
1.10.12
Object-Oriented Graphics Rendering Engine
|
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::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 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 |
typedef map<String, AnimationState*>::type Ogre::AnimationStateMap |
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.
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 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.