This creates a new GLBufferAttribute object.
Must be a TypedArray
. Used to instantiate the buffer.
This array should have itemSize * numVertices
elements, where numVertices is the number of vertices in the associated BufferGeometry.
the number of values of the array that should be associated with a particular vertex.
For instance, if this attribute is storing a 3-component vector (such as a position, normal, or color),
then itemSize should be 3
.
Optional
normalized: booleanApplies to integer data only.
Indicates how the underlying data in the buffer maps to the values in the GLSL code.
For instance, if array is an instance of UInt16Array
, and normalized is true,
the values 0
- +65535
in the array data will be mapped to 0.0f
- +1.0f
in the GLSL attribute.
An Int16Array
(signed) would map from -32768
- +32767
to -1.0f
- +1.0f
.
If normalized is false, the values will be converted to floats unmodified,
i.e. 32767
becomes 32767.0f
.
Default false
.
The TypedArray holding data stored in the buffer.
Readonly
countConfigures the bound GPU type for use in shaders. Either FloatType or IntType, default is FloatType.
Note: this only has an effect for integer arrays and is not configurable for float arrays. For lower precision float types, see https://threejs.org/docs/#api/en/core/bufferAttributeTypes/BufferAttributeTypes.
Readonly
isRead-only flag to check if a given object is of type BufferAttribute.
The length of vectors that are being stored in the array.
Optional name for this attribute instance.
Indicates how the underlying data in the buffer maps to the values in the GLSL shader code.
A callback function that is executed after the Renderer has transferred the attribute array data to the GPU.
This can be used to only update some components of stored vectors (for example, just the component related to color).
Position at which to start update.
This can be used to only update some components of stored vectors (for example, just the component related to color). Use the .addUpdateRange function to add ranges to this array.
The number of components to update.
Position at which to start update.
Defines the intended usage pattern of the data store for optimization purposes. Corresponds to the usage parameter of WebGLRenderingContext.bufferData.
After the initial use of a buffer, its usage cannot be changed. Instead, instantiate a new one and set the desired usage before the next render.
A version number, incremented every time the needsUpdate property is set to true.
Flag to indicate that this attribute has changed and should be re-sent to the GPU. Set this to true when you modify the value of the array.
Setting this to true also increments the version.
Applies matrix m to every Vector3 element of this BufferAttribute.
Applies matrix m to every Vector3 element of this BufferAttribute.
Applies normal matrix m to every Vector3 element of this BufferAttribute.
a copy of this BufferAttribute.
Copies another BufferAttribute to this BufferAttribute.
Copy the array given here (which can be a normal array or TypedArray
) into array.
TypedArray.set for notes on requirements if copying a TypedArray
.
Copy a vector from bufferAttribute[index2] to array[index1].
Sets the value of the onUploadCallback property.
function that is executed after the Renderer has transferred the attribute array data to the GPU.
Calls TypedArray.set( value, offset ) on the array.
Array | Array or TypedArray
from which to copy values.
Optional
offset: numberindex of the array at which to start copying. Expects a Integer
. Default 0
.
Set usage
After the initial use of a buffer, its usage cannot be changed. Instead, instantiate a new one and set the desired usage before the next render.
Convert this object to three.js to the data.attributes
part of JSON Geometry format v4,
Applies matrix m to every Vector3 element of this BufferAttribute, interpreting the elements as a direction vectors.
This class stores data for an attribute (such as vertex positions, face indices, normals, colors, UVs, and any custom attributes ) associated with a BufferGeometry, which allows for more efficient passing of data to the GPU
Remarks
When working with vector-like data, the
.fromBufferAttribute( attribute, index )
helper methods on Vector2, Vector3, Vector4, and Color classes may be helpful.See