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
Section titled “Extends”Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new EdgeDataTexture(
gl,initialCapacity?):EdgeDataTexture
Defined in: packages/sigma/src/rendering/edge-data-texture.ts:41
Parameters
Section titled “Parameters”WebGL2RenderingContext
initialCapacity?
Section titled “initialCapacity?”number
Returns
Section titled “Returns”EdgeDataTexture
Overrides
Section titled “Overrides”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
Inherited from
Section titled “Inherited from”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
Inherited from
Section titled “Inherited from”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
Inherited from
Section titled “Inherited from”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
Inherited from
Section titled “Inherited from”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
Inherited from
Section titled “Inherited from”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
Inherited from
Section titled “Inherited from”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
Inherited from
Section titled “Inherited from”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
Inherited from
Section titled “Inherited from”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
Inherited from
Section titled “Inherited from”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
Inherited from
Section titled “Inherited from”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
Inherited from
Section titled “Inherited from”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
Inherited from
Section titled “Inherited from”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
Inherited from
Section titled “Inherited from”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
Inherited from
Section titled “Inherited from”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
Inherited from
Section titled “Inherited from”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
Inherited from
Section titled “Inherited from”updateEdge()
Section titled “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
Section titled “Parameters”edgeKey
Section titled “edgeKey”string
The edge identifier
sourceNodeIndex
Section titled “sourceNodeIndex”number
Index of source node in node data texture
targetNodeIndex
Section titled “targetNodeIndex”number
Index of target node in node data texture
thickness
Section titled “thickness”number
Edge thickness
headLengthRatio
Section titled “headLengthRatio”number
Head extremity length as ratio of thickness
tailLengthRatio
Section titled “tailLengthRatio”number
Tail extremity length as ratio of thickness
pathId?
Section titled “pathId?”number = 0
Path index for multi-path programs (default 0)
headId?
Section titled “headId?”number = 0
Head extremity index for multi-extremity programs (default 0)
tailId?
Section titled “tailId?”number = 0
Tail extremity index for multi-extremity programs (default 0)
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