Class: DynamicBuffer
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:45
Optional convenience wrapper around an immutable core Buffer.
DynamicBuffer keeps a stable application object while allowing the backing
GPU buffer to be replaced on resize. Engine classes such as Model and
Material resolve it to the current backing buffer at draw time and
invalidate cached bindings when generation changes.
Constructors
Constructor
new DynamicBuffer(
device,props):DynamicBuffer
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:81
Creates a dynamic buffer and its initial backing Buffer.
Parameters
device
Device
props
Returns
DynamicBuffer
Properties
debugData
debugData:
ArrayBuffer
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:65
Optional CPU-side mirror of recent writes and readbacks for debugging.
destroyed
destroyed:
boolean
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:59
Whether destroy has been called.
device
readonlydevice:Device
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:47
Device that owns the backing buffer.
generation
generation:
number
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:61
Monotonic version that increments whenever the backing buffer is replaced.
id
readonlyid:string
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:49
Application-provided or generated identifier.
isReady
isReady:
boolean
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:57
Dynamic buffers are synchronously ready after construction.
props
readonlyprops:Readonly<DynamicBufferProps>
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:55
Normalized buffer props reused when the backing buffer is recreated.
ready
readonlyready:Promise<Buffer>
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:51
Ready promise provided for compatibility with other dynamic resources.
updateTimestamp
updateTimestamp:
number
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:63
Last update timestamp for writes, reads that populate debug data, or resize operations.
usage
readonlyusage:number
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:53
Usage flags applied to every backing buffer created by this wrapper.
Accessors
[toStringTag]
Get Signature
get [toStringTag]():
string
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:75
String tag used by Object.prototype.toString.
Returns
string
buffer
Get Signature
get buffer():
Buffer
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:71
Current immutable core buffer backing this dynamic wrapper.
Returns
Buffer
byteLength
Get Signature
get byteLength():
number
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:73
Current byte length of the backing buffer.
Returns
number
Methods
destroy()
destroy():
void
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:145
Destroys the current backing buffer and clears debug data.
Returns
void
ensureSize()
ensureSize(
byteLength,options?):boolean
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:132
Grows the backing buffer when the requested size exceeds the current size.
Parameters
byteLength
number
Minimum required byte length.
options?
preserveData?
boolean
Copies existing bytes when growth is required.
Returns
boolean
true when the backing buffer grew.
getBinding()
getBinding(
range?):Binding
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:140
Returns the current backing buffer or a range binding over it.
Parameters
range?
Optional byte range for uniform/storage buffer bindings.
offset?
number
size?
number
Returns
Binding
mapAndReadAsync()
mapAndReadAsync<
T>(callback,byteOffset?,byteLength?):Promise<T>
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:111
Maps the current backing buffer for reading.
Type Parameters
T
T
Parameters
callback
BufferMapCallback<T>
Callback invoked with the mapped range.
byteOffset?
number
Byte offset of the mapped range.
byteLength?
number
Byte length of the mapped range.
Returns
Promise<T>
mapAndWriteAsync()
mapAndWriteAsync(
callback,byteOffset?,byteLength?):Promise<void>
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:96
Maps the current backing buffer for writing and mirrors the written range when debug data is enabled.
Parameters
callback
BufferMapCallback<void | Promise<void>>
Callback invoked with the mapped range.
byteOffset?
number
Byte offset of the mapped range.
byteLength?
number
Byte length of the mapped range.
Returns
Promise<void>
readAsync()
readAsync(
byteOffset?,byteLength?):Promise<Uint8Array<ArrayBufferLike>>
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:103
Reads bytes from the current backing buffer.
Parameters
byteOffset?
number
Source byte offset in the backing buffer.
byteLength?
number
Number of bytes to read.
Returns
Promise<Uint8Array<ArrayBufferLike>>
resize()
resize(
options):boolean
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:120
Replaces the backing buffer with a new size.
Parameters
options
byteLength
number
New backing buffer byte length.
copyByteLength?
number
Maximum number of bytes to copy when preserving data.
preserveData?
boolean
Copies bytes from the old buffer into the new buffer.
Returns
boolean
true when a new backing buffer was created.
toJSON()
toJSON():
string
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:79
Compact serialization for assertion diffs and structured debug logs.
Returns
string
toString()
toString():
string
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:77
Human-readable debug string.
Returns
string
write()
write(
data,byteOffset?):void
Defined in: modules/core/dist/dynamic/dynamic-buffer/dynamic-buffer.d.ts:88
Writes bytes into the current backing buffer.
Parameters
data
ArrayBuffer | SharedArrayBuffer | ArrayBufferView<ArrayBufferLike>
Bytes or typed-array view to upload.
byteOffset?
number
Destination byte offset in the backing buffer.
Returns
void