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. See that page for details and a usage example.
Data is stored as vectors of any length (defined by itemSize), and in general in the methods outlined below if passing in an index, this is automatically multiplied by the vector length.
array -- 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.
itemSize -- 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.
normalized -- (optional) Applies 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 -32767 - +32767 to -1.0f - +1.0f. If normalized is false, the values will be converted to floats unmodified, i.e. 32767 becomes 32767.0f.
The array holding data stored in the buffer.
Stores the array's length divided by the itemSize.
If the buffer is storing a 3-component vector (such as a position, normal, or color), then this will count the number of such vectors stored.
Whether the buffer is dynamic or not. Default is false.
If false, the GPU is informed that contents of the buffer are likely to be used often and not change often. This corresponds to the gl.STATIC_DRAW flag.
if true, the GPU is informed that contents of the buffer are likely to be used often and change often. This corresponds to the gl.DYNAMIC_DRAW flag.
Used to check whether this or derived classes are BufferAttributes. Default is true.
You should not change this, as it used internally for optimisation.
The length of vectors that are being stored in the array.
Optional name for this attribute instance. Default is an empty string.
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.
Indicates how the underlying data in the buffer maps to the values in the GLSL shader code. See the constructor above for details.
A callback function that is executed after the Renderer has transferred the attribute array data to the GPU.
offset: Default is 0. Position at which to start update.
count: Default is -1, which means don't use update ranges.
This can be used to only update some components of stored vectors (for example, just the component related to color).
A version number, incremented every time the needsUpdate property is set to true.
Return 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
See TypedArray.set for notes on requirements if copying a TypedArray.
Copy a vector from bufferAttribute[index2] to array[index1].
Copy an array representing RGB color values into array.
Copy an array representing Vector2s into array.
Copy an array representing Vector3s into array.
Copy an array representing Vector4s into array.
Returns the x component of the vector at the given index.
Returns the y component of the vector at the given index.
Returns the z component of the vector at the given index.
Returns the w component of the vector at the given index.
Sets the value of the onUploadCallback property.
In the WebGL / Buffergeometry this is used to free memory after the buffer has been transferred to the GPU.
value -- an Array or TypedArray from which to copy values.
offset -- (optional) index of the array at which to start copying.
Calls TypedArray.set(value, offset) on the array.
In particular, see that page for requirements on value being a TypedArray.
array to the TypedArray passed in here.
After setting the array, needsUpdate should be set to true.
Set dynamic to value.
Sets the x component of the vector at the given index.
Sets the y component of the vector at the given index.
Sets the z component of the vector at the given index.
Sets the w component of the vector at the given index.
Sets the x and y components of the vector at the given index.
Sets the x, y and z components of the vector at the given index.
Sets the x, y, z and w components of the vector at the given index.
For more info on how to obtain the source code of this module see this page.