XII Release 0.1.0
Loading...
Searching...
No Matches
xiiAnimationPose Struct Reference

Public Member Functions

void Clear ()
void ResetToRestPose (const xiiSkeletonResource &skeleton)
void BuildModelSpacePose (const xiiSkeletonResource &skeleton)
void BuildSkinningMatrices (const xiiSkeletonResource &skeleton)
xiiResult BuildMeshSkinningPalette (const xiiSkeletonResource &skeleton, const xiiMeshResourceDescriptor &mesh, xiiDynamicArray< xiiMat4 > &out_palette, xiiDynamicBitfield &inout_usedSlots) const
 Copyright (c) Theophilus Eriata. All Rights Reserved.
xiiResult CopyLocalTransforms (const xiiSkeletonResource &skeleton, xiiMap< xiiString, xiiTransform > &out_transforms) const
 Copyright (c) Theophilus Eriata. All Rights Reserved.
void Blend (const xiiAnimationPose &a, const xiiAnimationPose &b, float fWeight)
void AdditiveBlend (const xiiAnimationPose &basePose, const xiiAnimationPose &additivePose, float fWeight)
void LayeredBlend (const xiiAnimationPose &basePose, const xiiAnimationPose &layerPose, const xiiSkeletonResource &skeleton, xiiUInt16 uiRootJoint, float fWeight)

Public Attributes

xiiDynamicArray< xiiTransform > m_LocalTransforms
xiiDynamicArray< xiiMat4 > m_ModelTransforms
xiiDynamicArray< xiiMat4 > m_SkinningMatrices
xiiAnimationRootMotion m_RootMotion

Member Function Documentation

◆ BuildMeshSkinningPalette()

xiiResult xiiAnimationPose::BuildMeshSkinningPalette ( const xiiSkeletonResource & skeleton,
const xiiMeshResourceDescriptor & mesh,
xiiDynamicArray< xiiMat4 > & out_palette,
xiiDynamicBitfield & inout_usedSlots ) const

Copyright (c) Theophilus Eriata. All Rights Reserved.

Resolves mesh bone names to joints and writes mesh-indexed matrices using the mesh's inverse bind poses. Empty bone maps use the skeleton palette. Sparse unused slots are identity. Invalid mappings/matrices fail and clear output. Requires model transforms for this skeleton revision. Output and scratch capacity are reused between calls. The output must not alias any of this pose's arrays.

◆ CopyLocalTransforms()

xiiResult xiiAnimationPose::CopyLocalTransforms ( const xiiSkeletonResource & skeleton,
xiiMap< xiiString, xiiTransform > & out_transforms ) const

Copyright (c) Theophilus Eriata. All Rights Reserved.

Copies local joint transforms by name. Rejects mismatched counts, duplicate/empty names and invalid transforms. Clears the output on failure. The caller must ensure the pose belongs to this skeleton revision.


The documentation for this struct was generated from the following files:
  • /home/runner/work/XII/XII/Source/Engine/GraphicsCore/AnimationSystem/AnimationPose.h
  • /home/runner/work/XII/XII/Source/Engine/GraphicsCore/AnimationSystem/Implementation/AnimationPose.cpp
  • /home/runner/work/XII/XII/Source/Engine/GraphicsCore/AnimationSystem/Implementation/AnimationPoseMesh.cpp