three
Version:
JavaScript 3D library
60 lines (34 loc) • 1.17 kB
JavaScript
/**
* @author benaadams / https://twitter.com/ben_a_adams
*/
THREE.InstancedBufferGeometry = function () {
THREE.BufferGeometry.call( this );
this.type = 'InstancedBufferGeometry';
this.maxInstancedCount = undefined;
};
THREE.InstancedBufferGeometry.prototype = Object.create( THREE.BufferGeometry.prototype );
THREE.InstancedBufferGeometry.prototype.constructor = THREE.InstancedBufferGeometry;
THREE.InstancedBufferGeometry.prototype.addGroup = function ( start, count, instances ) {
this.groups.push( {
start: start,
count: count,
instances: instances
} );
};
THREE.InstancedBufferGeometry.prototype.copy = function ( source ) {
var index = source.index;
if ( index !== null ) {
this.setIndex( index.clone() );
}
var attributes = source.attributes;
for ( var name in attributes ) {
var attribute = attributes[ name ];
this.addAttribute( name, attribute.clone() );
}
var groups = source.groups;
for ( var i = 0, l = groups.length; i < l; i ++ ) {
var group = groups[ i ];
this.addGroup( group.start, group.count, group.instances );
}
return this;
};