DataTexture
Defined in: packages/sigma/src/rendering/data-texture.ts:40
Base class for GPU data textures.
The texture is a 2D RGBA32F texture where each item uses TEXELS_PER_ITEM texels. The texture uses a 2D layout (width × height) to stay within WebGL maximum texture dimension limits.
Item indices are allocated via a free-list strategy for efficient add/remove operations without compaction.
Extended by
Section titled “Extended by”Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new DataTexture(
gl,texelsPerItem,initialCapacity?):DataTexture
Defined in: packages/sigma/src/rendering/data-texture.ts:61
Parameters
Section titled “Parameters”WebGL2RenderingContext
texelsPerItem
Section titled “texelsPerItem”number
initialCapacity?
Section titled “initialCapacity?”number = INITIAL_CAPACITY
Returns
Section titled “Returns”DataTexture
Methods
Section titled “Methods”allocate()
Section titled “allocate()”allocate(
key):number
Defined in: packages/sigma/src/rendering/data-texture.ts:152
Allocates a texture index for an item. Returns existing index if item already allocated.
Parameters
Section titled “Parameters”string | number
Returns
Section titled “Returns”number
bind()
Section titled “bind()”bind(
textureUnit):void
Defined in: packages/sigma/src/rendering/data-texture.ts:271
Binds the texture to a texture unit.
Parameters
Section titled “Parameters”textureUnit
Section titled “textureUnit”number
Returns
Section titled “Returns”void
clear()
Section titled “clear()”clear():
void
Defined in: packages/sigma/src/rendering/data-texture.ts:339
Clears all item allocations (but keeps the texture).
Returns
Section titled “Returns”void
free()
Section titled “free()”free(
key):void
Defined in: packages/sigma/src/rendering/data-texture.ts:179
Frees an item’s texture index for reuse.
Parameters
Section titled “Parameters”string | number
Returns
Section titled “Returns”void
getCapacity()
Section titled “getCapacity()”getCapacity():
number
Defined in: packages/sigma/src/rendering/data-texture.ts:287
Gets the current capacity (max items).
Returns
Section titled “Returns”number
getCount()
Section titled “getCount()”getCount():
number
Defined in: packages/sigma/src/rendering/data-texture.ts:316
Gets the number of allocated items.
Returns
Section titled “Returns”number
getHighWaterMark()
Section titled “getHighWaterMark()”getHighWaterMark():
number
Defined in: packages/sigma/src/rendering/data-texture.ts:325
Highest index ever allocated + 1. Unlike getCount, this spans freed
holes, so it bounds every live item’s row (what a per-row gl_VertexID
pass must cover).
Returns
Section titled “Returns”number
getIndex()
Section titled “getIndex()”getIndex(
key):number
Defined in: packages/sigma/src/rendering/data-texture.ts:199
Gets the texture index for an item. Returns -1 if item not found.
Parameters
Section titled “Parameters”string | number
Returns
Section titled “Returns”number
getTexelsPerItem()
Section titled “getTexelsPerItem()”getTexelsPerItem():
number
Defined in: packages/sigma/src/rendering/data-texture.ts:309
Gets the number of texels per item.
Returns
Section titled “Returns”number
getTexture()
Section titled “getTexture()”getTexture():
WebGLTexture|null
Defined in: packages/sigma/src/rendering/data-texture.ts:280
Gets the WebGL texture object.
Returns
Section titled “Returns”WebGLTexture | null
getTextureHeight()
Section titled “getTextureHeight()”getTextureHeight():
number
Defined in: packages/sigma/src/rendering/data-texture.ts:302
Gets the texture height (needed to cover the full texture when rendering into it).
Returns
Section titled “Returns”number
getTextureWidth()
Section titled “getTextureWidth()”getTextureWidth():
number
Defined in: packages/sigma/src/rendering/data-texture.ts:294
Gets the texture width (needed for 2D coordinate calculation in shaders).
Returns
Section titled “Returns”number
has(
key):boolean
Defined in: packages/sigma/src/rendering/data-texture.ts:206
Checks if an item has been allocated.
Parameters
Section titled “Parameters”string | number
Returns
Section titled “Returns”boolean
isDirty()
Section titled “isDirty()”isDirty():
boolean
Defined in: packages/sigma/src/rendering/data-texture.ts:332
Checks if there are pending changes to upload.
Returns
Section titled “Returns”boolean
kill()
Section titled “kill()”kill():
void
Defined in: packages/sigma/src/rendering/data-texture.ts:360
Destroys the texture and clears all data.
Returns
Section titled “Returns”void
restore()
Section titled “restore()”restore():
void
Defined in: packages/sigma/src/rendering/data-texture.ts:350
Recreates the GPU texture after a context loss, re-uploading the CPU-side data.
Returns
Section titled “Returns”void
upload()
Section titled “upload()”upload():
void
Defined in: packages/sigma/src/rendering/data-texture.ts:223
Uploads dirty data to the GPU texture. With 2D layout and multiple texels per item, uploads affected rows.
Returns
Section titled “Returns”void