A VertexBuffer object is an optimal read-only container for vertex data.
A VertexBuffer object can be constructed with GraphicsDevice.createVertexBuffer.
Summary
Set the data by passing in an array of numbers.
Vertex data stored on the VertexBuffer, it consists of an array of numbers, one value for each component of every attribute of all vertices. The number of components per attribute depends on the attribute format.
Create the VertexBuffer as dynamic if you are planning to update the vertex data at runtime.
Changing or requesting the vertex data can be an expensive operation.
Syntax
// request all the data
var vertexData = [100.0, 200.0, 3, 1000,
200.0, 200.0, 4, 2000,
100.0, 100.0, 5, 3000,
200.0, 100.0, 6, 4000]
var offset = 0;
var count = vertexData.length / vertexBuffer.stride;
vertexBuffer.setData(vertexData, offset, count);
Summary
Requests write access to a region of the VertexBuffer.
Syntax
var writer = vertexBuffer.map(offset, count);
if (writer)
{
for (var n = 0; n < count; n += 1)
{
// This VertexBuffer has 3 attributes
writer(0, 1, 2, // first attribute has 3 components
0, 1, 2, // second attribute has also 3 components
0, 1); // third attribute has only 2
}
vertexBuffer.unmap(writer);
}
Returns a vertex writer. The writer can be called once for each mapped vertex to replace each of the components of every attribute.
Summary
Communicate to the VertexBuffer that write access to a mapped region is no longer required.
Syntax
var writer = vertexBuffer.map(firstVertexToMap, numVerticesToMap);
if (writer)
{
// Do something with the writer here
vertexBuffer.unmap(writer);
}
This method must be called if map returns a valid writer.
Summary
Number of vertices stored on the VertexBuffer.
Syntax
var numVertices = vertexBuffer.numVertices;
Note
Read Only
Summary
Number of attributes per vertex.
Syntax
var numAttributes = vertexBuffer.numAttributes;
Note
Read Only
Summary
Array of strings with the format names of each vertex attribute.
Syntax
var vertexAttributesArray = vertexBuffer.attributes;
Note
Read Only
Summary
The number of total components per vertex. Each vertex attribute can have up to 4 components depending on the attribute format.
Syntax
var vertexBufferStride = vertexBuffer.stride;
Note
Read Only
Summary
True if the VertexBuffer was created as dynamic and hence can be modified at runtime, false otherwise.
Syntax
var isDynamic = vertexBuffer.dynamic;
Note
Read Only