@animech-public/playcanvas
Version:
PlayCanvas WebGL game engine
54 lines (53 loc) • 2.15 kB
TypeScript
/**
* A skin instance is responsible for generating the matrix palette that is used to skin vertices
* from object space to world space.
*
* @category Graphics
*/
export class SkinInstance {
/**
* Create a new SkinInstance instance.
*
* @param {import('./skin.js').Skin} skin - The skin that will provide the inverse bind pose
* matrices to generate the final matrix palette.
*/
constructor(skin: import("./skin.js").Skin);
/**
* An array of nodes representing each bone in this skin instance.
*
* @type {import('./graph-node.js').GraphNode[]}
*/
bones: import("./graph-node.js").GraphNode[];
boneTextureSize: any;
_dirty: boolean;
_rootBone: any;
_skinUpdateIndex: number;
_updateBeforeCull: boolean;
set rootBone(rootBone: any);
get rootBone(): any;
init(device: any, numBones: any): void;
boneTexture: Texture;
matrixPalette: Uint8Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike> | Float32Array<ArrayBuffer> | Float32Array<ArrayBufferLike>;
destroy(): void;
/**
* Resolves skin bones to a hierarchy with the rootBone at its root.
*
* @param {import('../framework/entity.js').Entity} rootBone - A reference to the entity to be used as
* the root bone.
* @param {import('../framework/entity.js').Entity} entity - Specifies the entity used if the
* bone match is not found in the hierarchy - usually the entity the render component is attached to.
* @ignore
*/
resolve(rootBone: import("../framework/entity.js").Entity, entity: import("../framework/entity.js").Entity): void;
/**
* @param {import('./skin.js').Skin} skin - The skin.
*/
initSkin(skin: import("./skin.js").Skin): void;
skin: import("./skin.js").Skin;
matrices: any[];
uploadBones(device: any): void;
_updateMatrices(rootNode: any, skinUpdateIndex: any): void;
updateMatrices(rootNode: any, skinUpdateIndex: any): void;
updateMatrixPalette(rootNode: any, skinUpdateIndex: any): void;
}
import { Texture } from '../platform/graphics/texture.js';