| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- import { BufferGeometry } from './BufferGeometry';
- /**
- * @author benaadams / https://twitter.com/ben_a_adams
- */
- function InstancedBufferGeometry() {
- BufferGeometry.call( this );
- this.type = 'InstancedBufferGeometry';
- this.maxInstancedCount = undefined;
- }
- InstancedBufferGeometry.prototype = Object.assign( Object.create( BufferGeometry.prototype ), {
- constructor: InstancedBufferGeometry,
- isInstancedBufferGeometry: true,
- addGroup: function ( start, count, materialIndex ) {
- this.groups.push( {
- start: start,
- count: count,
- materialIndex: materialIndex
- } );
- },
- 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.materialIndex );
- }
- return this;
- }
- } );
- export { InstancedBufferGeometry };
|