This creates a new Float16BufferAttribute object.
This can be a typed or untyped (normal) array or an integer length. An array value will be converted to Uint16Array
.
If a length is given a new TypedArray
will created, initialized with all elements set to zero.
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.
TypedArray
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.
This is a constant value
true
The length of vectors that are being stored in the array.
Expects a Integer
Optional name for this attribute instance.
''
Indicates how the underlying data in the buffer maps to the values in the GLSL shader code.
constructor
above for details.
false
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).
-1
, which means don't use update ranges.
Position at which to start update.
0
{ offset: number = 0; count: number = -1 }
Will be removed in r169. Use "addUpdateRange()" instead.
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.
{@link THREE.StaticDrawUsage | THREE.StaticDrawUsage}.
A version number, incremented every time the needsUpdate property is set to true.
Expects a Integer
0
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
.
RangeError
When offset is negative or is too large.
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.
A BufferAttribute for Uint16Array TypedArray
See