/** * Skeleton Superset * @param id * @param bones GameLib.D3.API.Bone * @param boneInverses * @param useVertexTexture * @param boneTextureWidth * @param boneTextureHeight * @param boneMatrices * @param boneTexture * @constructor */ GameLib.D3.Skeleton = function Skeleton( id, bones, boneInverses, useVertexTexture, boneTextureWidth, boneTextureHeight, boneMatrices, boneTexture ) { this.id = id; this.bones = bones; /** * An array of Matrix4s that represent the inverse of the matrixWorld of the individual bones. * @type GameLib.Matrix4[] */ if (typeof boneInverses == 'undefined') { boneInverses = []; } this.boneInverses = boneInverses; /** * Use a vertex texture in the shader - allows for more than 4 bones per vertex, not supported by all devices * @type {boolean} */ if (typeof useVertexTexture == 'undefined') { useVertexTexture = false; } this.useVertexTexture = useVertexTexture; if (this.useVertexTexture == true) { console.warn('support for vertex texture bones is not supported yet - something could break somewhere'); } if (typeof boneTextureWidth == 'undefined') { boneTextureWidth = 0; } this.boneTextureWidth = boneTextureWidth; if (typeof boneTextureHeight == 'undefined') { boneTextureHeight = 0; } this.boneTextureHeight = boneTextureHeight; if (typeof boneMatrices == 'undefined') { boneMatrices = []; } this.boneMatrices = boneMatrices; if (typeof boneTexture == 'undefined') { boneTexture = []; } this.boneTexture = boneTexture; };