NodeDataTexture
Defined in: packages/sigma/src/rendering/node-data-texture.ts:35
Manages a GPU texture storing node data, two RGBA32F texels per node.
Texel 0 - geometry, read by every node-data consumer:
- R: x position (graph coordinates)
- G: y position (graph coordinates)
- B: size
- A: shapeId (integer ID for shape registry lookup)
Texel 1 - rotation flags (0 = viewport/screen-upright, 1 = graph) and color:
- R: nodeRotation (shape orientation follows the camera)
- G: labelRotation (label orbits/turns with the camera)
- B: color RGB packed as r65536 + g256 + b (< 2^24, exact in float32)
- A: color alpha in [0, 1]
Node index N maps to a base texel N * 2; consumers fetch texel 0 there and
texel 1 at N * 2 + 1 (see GLSL_READ_NODE_DATA / GLSL_READ_NODE_FLAGS /
GLSL_READ_NODE_COLOR).
Extends
Section titled “Extends”Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new NodeDataTexture(
gl,initialCapacity?):NodeDataTexture
Defined in: packages/sigma/src/rendering/node-data-texture.ts:36
Parameters
Section titled “Parameters”WebGL2RenderingContext
initialCapacity?
Section titled “initialCapacity?”number
Returns
Section titled “Returns”NodeDataTexture
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”updateNode()
Section titled “updateNode()”updateNode(
nodeKey,x,y,size,shapeId,nodeRotation,labelRotation,color):void
Defined in: packages/sigma/src/rendering/node-data-texture.ts:44
Updates all data for a node. nodeRotation and labelRotation are the
per-node rotation-alignment flags (0 = viewport, 1 = graph).
Parameters
Section titled “Parameters”nodeKey
Section titled “nodeKey”string
number
number
number
shapeId
Section titled “shapeId”number
nodeRotation
Section titled “nodeRotation”number
labelRotation
Section titled “labelRotation”number
string
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