DataTexture
Defined in: packages/sigma/src/rendering/data-texture.ts:31
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
Constructors
Constructor
new DataTexture(
gl,texelsPerItem,initialCapacity?):DataTexture
Defined in: packages/sigma/src/rendering/data-texture.ts:51
Parameters
gl
WebGL2RenderingContext
texelsPerItem
number
initialCapacity?
number = INITIAL_CAPACITY
Returns
DataTexture
Methods
allocate()
allocate(
key):number
Defined in: packages/sigma/src/rendering/data-texture.ts:138
Allocates a texture index for an item. Returns existing index if item already allocated.
Parameters
key
string | number
Returns
number
bind()
bind(
textureUnit):void
Defined in: packages/sigma/src/rendering/data-texture.ts:255
Binds the texture to a texture unit.
Parameters
textureUnit
number
Returns
void
clear()
clear():
void
Defined in: packages/sigma/src/rendering/data-texture.ts:306
Clears all item allocations (but keeps the texture).
Returns
void
free()
free(
key):void
Defined in: packages/sigma/src/rendering/data-texture.ts:165
Frees an item’s texture index for reuse.
Parameters
key
string | number
Returns
void
getCapacity()
getCapacity():
number
Defined in: packages/sigma/src/rendering/data-texture.ts:271
Gets the current capacity (max items).
Returns
number
getCount()
getCount():
number
Defined in: packages/sigma/src/rendering/data-texture.ts:292
Gets the number of allocated items.
Returns
number
getIndex()
getIndex(
key):number
Defined in: packages/sigma/src/rendering/data-texture.ts:185
Gets the texture index for an item. Returns -1 if item not found.
Parameters
key
string | number
Returns
number
getTexelsPerItem()
getTexelsPerItem():
number
Defined in: packages/sigma/src/rendering/data-texture.ts:285
Gets the number of texels per item.
Returns
number
getTexture()
getTexture():
WebGLTexture|null
Defined in: packages/sigma/src/rendering/data-texture.ts:264
Gets the WebGL texture object.
Returns
WebGLTexture | null
getTextureWidth()
getTextureWidth():
number
Defined in: packages/sigma/src/rendering/data-texture.ts:278
Gets the texture width (needed for 2D coordinate calculation in shaders).
Returns
number
has()
has(
key):boolean
Defined in: packages/sigma/src/rendering/data-texture.ts:192
Checks if an item has been allocated.
Parameters
key
string | number
Returns
boolean
isDirty()
isDirty():
boolean
Defined in: packages/sigma/src/rendering/data-texture.ts:299
Checks if there are pending changes to upload.
Returns
boolean
kill()
kill():
void
Defined in: packages/sigma/src/rendering/data-texture.ts:319
Destroys the texture and clears all data.
Returns
void
upload()
upload():
void
Defined in: packages/sigma/src/rendering/data-texture.ts:209
Uploads dirty data to the GPU texture. With 2D layout and multiple texels per item, uploads affected rows.
Returns
void