ThreeJS InterleavedBuffer
The term "interleaved" refers to the packing of multiple attributes, possibly of different types (e.g., position, normal, uv, colour) into a single array buffer.
Constructor
InterleavedBuffer( array : TypedArray, stride : Integer )
array -- A typed array with a shared buffer. Stores the geometry data.
stride -- The number of typed-array elements per vertex.
Properties
.array : Array
A typed array with a shared buffer. Stores the geometry data.
.stride : Integer
The number of typed-array elements per vertex.
.count : Integer
Gives the total number of elements in the array.
.updateRange : Object
Object containing offset and count.
.updateRange.offset : Number
Default is 0.
.updateRange.count : Number
Default is -1.
.uuid : String
UUID of this instance. This gets automatically assigned, so this shouldn't be edited.
.version : Integer
A version number, incremented every time the needsUpdate property is set to true.
.needsUpdate : Boolean
Default is false. Setting this to true increments version.
.usage : Usage
Defines the intended usage pattern of the data store for optimization purposes. Corresponds to the usage parameter of WebGLRenderingContext.bufferData().
Methods
.copy ( source : InterleavedBuffer ) : this
Copies another InterleavedBuffer to this InterleavedBuffer.
.copyAt ( index1 : Integer, attribute : InterleavedBuffer, index2 : Integer ) : this
Copies data from attribute[index2] to array[index1].
.set ( value : TypedArray, offset : Integer ) : this
value - The source (typed) array.
offset - The offset into the target array at which to begin writing values from the source array. Default is 0.
Stores multiple values in the buffer, reading input values from a specified array.
.clone ( data : Object ) : InterleavedBuffer
data - This object holds shared array buffers required for properly cloning geometries with interleaved attributes.
Creates a clone of this InterleavedBuffer.
.setUsage ( value : Usage ) : this
Set usage to value.
.toJSON ( data : Object ) : Object
data - This object holds shared array buffers required for properly serializing geometries with interleaved attributes.
InterleavedBufferAttribute
Constructor
InterleavedBufferAttribute( interleavedBuffer : InterleavedBuffer, itemSize : Integer, offset : Integer, normalized : Boolean )
Properties
.data : InterleavedBuffer
The InterleavedBuffer instance passed in the constructor.
.array : TypedArray
The value of data.array.
.count : Integer
The value of data.count. If the buffer is storing a 3-component item (such as a position, normal, or color), then this will count the number of such items stored.
.itemSize : Integer
How many values make up each item.
.name : String
Optional name for this attribute instance. Default is an empty string.
.needsUpdate : Boolean
Default is false. Setting this to true will send the entire interleaved buffer (not just the specific attribute data) to the GPU again.
.normalized : Boolean
Default is false.
.offset : Integer
The offset in the underlying array buffer where an item starts.
Methods
.applyMatrix4 ( m : Matrix4 ) : this
Applies matrix m to every Vector3 element of this InterleavedBufferAttribute.
.applyNormalMatrix ( m : Matrix3 ) : this
Applies normal matrix m to every Vector3 element of this InterleavedBufferAttribute.
.transformDirection ( m : Matrix4 ) : this
Applies matrix m to every Vector3 element of this InterleavedBufferAttribute, interpreting the elements as a direction vectors.
.getX ( index : Integer ) : Number
Returns the x component of the item at the given index.
.getY ( index : Integer ) : Number
Returns the y component of the item at the given index.
.getZ ( index : Integer ) : Number
Returns the z component of the item at the given index.
.getW ( index : Integer ) : Number
Returns the w component of the item at the given index.
.setX ( index : Integer, x : Float ) : this
Sets the x component of the item at the given index.
.setY ( index : Integer, y : Float ) : this
Sets the y component of the item at the given index.
.setZ ( index : Integer, z : Float ) : this
Sets the z component of the item at the given index.
.setW ( index : Integer, w : Float ) : this
Sets the w component of the item at the given index.
.setXY ( index : Integer, x : Float, y : Float ) : this
Sets the x and y components of the item at the given index.
.setXYZ ( index : Integer, x : Float, y : Float, z : Float ) : this
Sets the x, y and z components of the item at the given index.
.setXYZW ( index : Integer, x : Float, y : Float, z : Float, w : Float ) : this
Sets the x, y, z and w components of the item at the given index.