EdgeDataTexture
Defined in: packages/sigma/src/rendering/edge-data-texture.ts:40
Manages a GPU texture storing edge data.
The texture is a 2D RGBA32F texture where each edge uses 2 texels:
Texel 0 (edgeIndex * 2 + 0):
- R: sourceNodeIndex (index into node data texture)
- G: targetNodeIndex (index into node data texture)
- B: thickness
- A: reserved
Texel 1 (edgeIndex * 2 + 1):
- R: headLengthRatio
- G: tailLengthRatio
- B: pathId (for multi-path programs)
- A: (headId << 4) | tailId (for multi-extremity programs)
Edge index N maps to texel coordinates: texel0: (N * 2) % textureWidth, (N * 2) / textureWidth texel1: (N * 2 + 1) % textureWidth, (N * 2 + 1) / textureWidth
Extends
Constructors
Constructor
new EdgeDataTexture(
gl,initialCapacity?):EdgeDataTexture
Defined in: packages/sigma/src/rendering/edge-data-texture.ts:41
Parameters
gl
WebGL2RenderingContext
initialCapacity?
number
Returns
EdgeDataTexture
Overrides
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
Inherited from
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
Inherited from
clear()
clear():
void
Defined in: packages/sigma/src/rendering/data-texture.ts:306
Clears all item allocations (but keeps the texture).
Returns
void
Inherited from
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
Inherited from
getCapacity()
getCapacity():
number
Defined in: packages/sigma/src/rendering/data-texture.ts:271
Gets the current capacity (max items).
Returns
number
Inherited from
getCount()
getCount():
number
Defined in: packages/sigma/src/rendering/data-texture.ts:292
Gets the number of allocated items.
Returns
number
Inherited from
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
Inherited from
getTexelsPerItem()
getTexelsPerItem():
number
Defined in: packages/sigma/src/rendering/data-texture.ts:285
Gets the number of texels per item.
Returns
number
Inherited from
getTexture()
getTexture():
WebGLTexture|null
Defined in: packages/sigma/src/rendering/data-texture.ts:264
Gets the WebGL texture object.
Returns
WebGLTexture | null
Inherited from
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
Inherited from
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
Inherited from
isDirty()
isDirty():
boolean
Defined in: packages/sigma/src/rendering/data-texture.ts:299
Checks if there are pending changes to upload.
Returns
boolean
Inherited from
kill()
kill():
void
Defined in: packages/sigma/src/rendering/data-texture.ts:319
Destroys the texture and clears all data.
Returns
void
Inherited from
updateEdge()
updateEdge(
edgeKey,sourceNodeIndex,targetNodeIndex,thickness,headLengthRatio,tailLengthRatio,pathId?,headId?,tailId?):void
Defined in: packages/sigma/src/rendering/edge-data-texture.ts:58
Updates all data for an edge.
Parameters
edgeKey
string
The edge identifier
sourceNodeIndex
number
Index of source node in node data texture
targetNodeIndex
number
Index of target node in node data texture
thickness
number
Edge thickness
headLengthRatio
number
Head extremity length as ratio of thickness
tailLengthRatio
number
Tail extremity length as ratio of thickness
pathId?
number = 0
Path index for multi-path programs (default 0)
headId?
number = 0
Head extremity index for multi-extremity programs (default 0)
tailId?
number = 0
Tail extremity index for multi-extremity programs (default 0)
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