GPUBuffer
class
class GPUBuffer implements GPUObjectBaseRepresents a block of memory allocated on the GPU.
Example
// Create a buffer that can be used as a vertex buffer and can be written to
const vertexBuffer = device.createBuffer({
label: "Vertex Buffer",
size: vertices.byteLength,
usage: GPUBufferUsage.VERTEX | GPUBufferUsage.COPY_DST,
});
// Write data to the buffer
device.queue.writeBuffer(vertexBuffer, 0, vertices);
// Example of creating a mapped buffer for CPU access
const stagingBuffer = device.createBuffer({
size: data.byteLength,
usage: GPUBufferUsage.MAP_WRITE | GPUBufferUsage.COPY_SRC,
mappedAtCreation: true,
});
// Copy data to the mapped buffer
new Uint8Array(stagingBuffer.getMappedRange()).set(data);
stagingBuffer.unmap();
Properties
label
label: stringsize
readonly size: numberusage
readonly usage: GPUFlagsConstantmapState
readonly mapState: GPUBufferMapStateMethods
mapAsync
mapAsync(mode: GPUMapModeFlags, offset?: number, size?: number): Promise<undefined>getMappedRange
getMappedRange(offset?: number, size?: number): ArrayBufferunmap
unmap(): undefineddestroy
destroy(): undefined