This creates a new BufferGeometry object.
This hashmap has as id the name of the attribute to be set and as value the buffer to set it to. Rather than accessing this property directly, use .setAttribute and .getAttribute to access attributes of this geometry.
{}
Bounding box for the BufferGeometry, which can be calculated with .computeBoundingBox().
Bounding boxes aren't computed by default. They need to be explicitly computed, otherwise they are null
.
null
Bounding sphere for the BufferGeometry, which can be calculated with .computeBoundingSphere().
bounding spheres aren't computed by default. They need to be explicitly computed, otherwise they are null
.
null
Determines the part of the geometry to render. This should not be set directly, instead use .setDrawRange(...).
For non-indexed BufferGeometry, count is the number of vertices to render.
{ start: 0, count: Infinity }
Split the geometry into groups, each of which will be rendered in a separate WebGL draw call. This allows an array of materials to be used with the geometry.
Specifies how many vertices (or indices) are included.
Expects a Integer
Optional
materialSpecifies the material array index to use.
Expects a Integer
Specifies the first element in this draw call – the first vertex for non-indexed geometry, otherwise the first triangle index.
Expects a Integer
Every vertex and index must belong to exactly one group — groups must not share vertices or indices, and must not leave vertices or indices unused.
[]
Unique number for this BufferGeometry instance.
Expects a Integer
Allows for vertices to be re-used across multiple triangles; this is called using "indexed triangles". Each triangle is associated with the indices of three vertices. This attribute therefore stores the index of each vertex for each triangular face. If this attribute is not set, the renderer assumes that each three contiguous positions represent a single triangle.
null
Readonly
isRead-only flag to check if a given object is of type BufferGeometry.
This is a constant value
true
Hashmap of BufferAttributes holding details of the geometry's morph targets.
Once the geometry has been rendered, the morph attribute data cannot be changed. You will have to call .dispose(), and create a new instance of BufferGeometry.
{}
Used to control the morph target behavior; when set to true, the morph target data is treated as relative offsets, rather than as absolute positions/normals.
false
Optional name for this BufferGeometry instance.
''
Readonly
typeA Read-only string to check if this
object type.
Sub-classes will update this value.
BufferGeometry
An object that can be used to store custom data about the BufferGeometry. It should not hold references to functions as these will not be cloned.
{}
UUID of this object instance.
This gets automatically assigned and shouldn't be edited.
Adds a listener to an event type.
The type of event to listen to.
The function that gets called when the event is fired.
Adds a group to this geometry
Optional
materialIndex: numberthe groups property for details.
Applies the matrix transform to the geometry.
Applies the rotation represented by the quaternion to the geometry.
Computes bounding box of the geometry, updating .boundingBox attribute.
Bounding boxes aren't computed by default. They need to be explicitly computed, otherwise they are null
.
Computes bounding sphere of the geometry, updating .boundingSphere attribute.
bounding spheres aren't computed by default. They need to be explicitly computed, otherwise they are null
.
Calculates and adds a tangent attribute to this geometry. The computation is only supported for indexed geometries and if position, normal, and uv attributes are defined
When using a tangent space normal map, prefer the MikkTSpace algorithm provided by BufferGeometryUtils.computeMikkTSpaceTangents instead.
Computes vertex normals for the given vertex data. For indexed geometries, the method sets each vertex normal to be the average of the face normals of the faces that share that vertex. For non-indexed geometries, vertices are not shared, and the method sets each vertex normal to be the same as the face normal.
Copies another BufferGeometry to this BufferGeometry.
Deletes the attribute with the specified name.
Fire an event type.
Returns the attribute with the specified name.
Return the .index buffer.
Returns true if the attribute with the specified name exists.
Checks if listener is added to an event type.
The type of event to listen to.
The function that gets called when the event is fired.
Rotates the geometry to face a point in space.
A world vector to look at.
This is typically done as a one time operation, and not during a loop.
Removes a listener from an event type.
The type of the listener that gets removed.
The listener function that gets removed.
Rotate the geometry about the X axis. This is typically done as a one time operation, and not during a loop.
radians. Expects a Float
Use Object3D.rotation for typical real-time mesh rotation.
Sets an attribute to this geometry with the specified name.
Use this rather than the attributes property, because an internal hashmap of .attributes is maintained to speed up iterating over attributes.
Set the .drawRange property
is the number of vertices or indices to render. Expects a Integer
For non-indexed BufferGeometry, count is the number of vertices to render
Set the .index buffer.
Convert the buffer geometry to three.js JSON Object/Scene format.
Return a non-index version of an indexed BufferGeometry.
A representation of mesh, line, or point geometry Includes vertex positions, face indices, normals, colors, UVs, and custom attributes within buffers, reducing the cost of passing all this data to the GPU.
Remarks
To read and edit data in BufferGeometry attributes, see BufferAttribute documentation.
Example
Example
See