code: function allocateBones ( object ) {
  
  		if ( _supportsBoneTextures && object && object.useVertexTexture ) {
  
  			return 1024;
  
  		} else {
  
  			// default for when object is not specified
  			// ( for example when prebuilding shader
  			//   to be used with multiple objects )
  			//
  			// 	- leave some extra space for other uniforms
  			//  - limit here is ANGLE's 254 max uniform vectors
  			//    (up to 54 should be safe)
  
  			var nVertexUniforms = _gl.getParameter( _gl.MAX_VERTEX_UNIFORM_VECTORS );
  			var nVertexMatrices = Math.floor( ( nVertexUniforms - 20 ) / 4 );
  
  			var maxBones = nVertexMatrices;
  
  			if ( object !== undefined && object instanceof THREE.SkinnedMesh ) {
  
  				maxBones = Math.min( object.bones.length, maxBones );
  
  				if ( maxBones < object.bones.length ) {
  
  					console.warn( "WebGLRenderer: too many bones - " + object.bones.length + ", this GPU supports just " + maxBones + " (try OpenGL instead of ANGLE)" );
  
  				}
  
  			}
  
  			return maxBones;
  
  		}
  
  	}
docs: Allocations