Back to main page

Bone frame

The bone frame is a fixed size array of bones with a compressed matrix (bone space to object space) and 3 userdefined values.

You use it with Instance_AssignBoneFrame on an instance that also refer to a model with bones and bone animation vertex shaders.

The bones in the model have everything that a bone frame has and information about how to place the bones relative to each other.

int BoneFrame_CreateEmpty(void);

Returns the ID to a new bone frame.

Creates a new bone frame with the unit matrix and all user data set to 0.

int BoneFrame_CreateFromDefaultPose(int Model);

Model is a valid model containing the bones that you want to copy to the new bone frame.

Returns the ID to a new bone frame using Model.

Creates a new bone frame from the default pose in Model.

void BoneFrame_Delete(int BoneFrame);

BoneFrame is a valid bone frame.

Removes BoneFrame.

void BoneFrame_GetPosition_OutV3(int BoneFrame, int BoneIndex);

BoneFrame is a valid bone frame. 0 <= BoneIndex <= 63.

Writes the object space start position of the bone in BoneFrame at BoneIndex to (X1,Y1,Z1).

void BoneFrame_SetPosition(int BoneFrame, int BoneIndex, float X, float Y, float Z);

BoneFrame is a valid bone frame. 0 <= BoneIndex <= 63.

The object space start position of the bone in BoneFrame at BoneIndex is set to (X,Y,Z).

void BoneFrame_GetYAxis_OutV3(int BoneFrame, int BoneIndex);

BoneFrame is a valid bone frame. 0 <= BoneIndex <= 63.

Writes the Y axis of the bone in BoneFrame at BoneIndex to (X1,Y1,Z1).

void BoneFrame_SetYAxis(int BoneFrame, int BoneIndex, float X, float Y, float Z);

BoneFrame is a valid bone frame. 0 <= BoneIndex <= 63.

The Y axis of the bone in BoneFrame at BoneIndex is set to (X,Y,Z).

void BoneFrame_GetZAxis_OutV3(int BoneFrame, int BoneIndex);

BoneFrame is a valid bone frame. 0 <= BoneIndex <= 63.

Writes the Z axis of the bone in BoneFrame at BoneIndex to (X1,Y1,Z1).

void BoneFrame_SetZAxis(int BoneFrame, int BoneIndex, float X, float Y, float Z);

BoneFrame is a valid bone frame. 0 <= BoneIndex <= 63.

The Z axis of the bone in BoneFrame at BoneIndex is set to (X,Y,Z).

void BoneFrame_GetUserData_OutV3(int BoneFrame, int BoneIndex);

BoneFrame is a valid bone frame. 0 <= BoneIndex <= 63.

Writes the user data of the bone in BoneFrame at BoneIndex to (X1,Y1,Z1).

void BoneFrame_SetUserData(int BoneFrame, int BoneIndex, float X, float Y, float Z);

BoneFrame is a valid bone frame. 0 <= BoneIndex <= 63.

The user data of the bone in BoneFrame at BoneIndex is set to (X,Y,Z).