Skip to content
This is the alpha v4 version website. Looking for the v3 documentation?

EdgeLabelProgram

Defined in: packages/sigma/src/rendering/edges/labels/factory.ts:728

Base class for label program implementations.

Label programs render text labels using WebGL (SDF-based rendering). Unlike node/edge programs, labels are processed per-character.

Visibility is handled by processing only visible labels each frame (determined by LabelGrid), so all characters in the buffer are rendered.

The DataType generic allows reuse by both node labels (LabelDisplayData) and edge labels (EdgeLabelDisplayData) via EdgeLabelProgram.

Extends

Type Parameters

N

N extends Attributes = Attributes

E

E extends Attributes = Attributes

G

G extends Attributes = Attributes

Properties

ATTRIBUTES

ATTRIBUTES: ProgramAttributeSpecification[]

Defined in: packages/sigma/src/rendering/program.ts:98

Inherited from

LabelProgram.ATTRIBUTES


ATTRIBUTES_ITEMS_COUNT

ATTRIBUTES_ITEMS_COUNT: number

Defined in: packages/sigma/src/rendering/program.ts:103

Inherited from

LabelProgram.ATTRIBUTES_ITEMS_COUNT


capacity

capacity: number = 0

Defined in: packages/sigma/src/rendering/program.ts:117

Inherited from

LabelProgram.capacity


CONSTANT_ATTRIBUTES

CONSTANT_ATTRIBUTES: ProgramAttributeSpecification[]

Defined in: packages/sigma/src/rendering/program.ts:100

Inherited from

LabelProgram.CONSTANT_ATTRIBUTES


CONSTANT_DATA

CONSTANT_DATA: number[][]

Defined in: packages/sigma/src/rendering/program.ts:101

Inherited from

LabelProgram.CONSTANT_DATA


constantArray

constantArray: Float32Array

Defined in: packages/sigma/src/rendering/program.ts:116

Inherited from

LabelProgram.constantArray


floats

floats: Float32Array

Defined in: packages/sigma/src/rendering/program.ts:113

Inherited from

LabelProgram.floats


FRAGMENT_SHADER_SOURCE

FRAGMENT_SHADER_SOURCE: string

Defined in: packages/sigma/src/rendering/program.ts:96

Inherited from

LabelProgram.FRAGMENT_SHADER_SOURCE


ints

ints: Uint32Array

Defined in: packages/sigma/src/rendering/program.ts:114

Inherited from

LabelProgram.ints


isInstanced

isInstanced: boolean

Defined in: packages/sigma/src/rendering/program.ts:132

Inherited from

LabelProgram.isInstanced


METHOD

METHOD: number

Defined in: packages/sigma/src/rendering/program.ts:99

Inherited from

LabelProgram.METHOD


normalProgram

normalProgram: ProgramInfo

Defined in: packages/sigma/src/rendering/program.ts:129

Inherited from

LabelProgram.normalProgram


pickProgram

pickProgram: ProgramInfo<string> | null = null

Defined in: packages/sigma/src/rendering/program.ts:130

Inherited from

LabelProgram.pickProgram


renderer

renderer: Sigma<N, E, G>

Defined in: packages/sigma/src/rendering/program.ts:106

Inherited from

LabelProgram.renderer


STRIDE

STRIDE: number

Defined in: packages/sigma/src/rendering/program.ts:104

Inherited from

LabelProgram.STRIDE


UNIFORMS

UNIFORMS: readonly string[]

Defined in: packages/sigma/src/rendering/program.ts:97

Inherited from

LabelProgram.UNIFORMS


VERTEX_SHADER_SOURCE

VERTEX_SHADER_SOURCE: string

Defined in: packages/sigma/src/rendering/program.ts:95

Inherited from

LabelProgram.VERTEX_SHADER_SOURCE


VERTICES

VERTICES: number

Defined in: packages/sigma/src/rendering/program.ts:94

Inherited from

LabelProgram.VERTICES


verticesCount

verticesCount: number = 0

Defined in: packages/sigma/src/rendering/program.ts:118

Inherited from

LabelProgram.verticesCount

Methods

drawWebGL()

drawWebGL(method, __namedParameters): void

Defined in: packages/sigma/src/rendering/nodes/labels/base.ts:102

Render all characters in the buffer. Since we only process visible labels, all buffered characters should be rendered.

Parameters

method

number

__namedParameters

ProgramInfo

Returns

void

Inherited from

LabelProgram.drawWebGL


ensureGlyphsReady()

abstract ensureGlyphsReady(texts, fontKey?): void

Defined in: packages/sigma/src/rendering/nodes/labels/base.ts:39

Ensure all glyphs for the given texts are generated and available.

Parameters

texts

string[]

fontKey?

string

Returns

void

Inherited from

LabelProgram.ensureGlyphsReady


getDefinition()

abstract getDefinition(): InstancedProgramDefinition<string> | ProgramDefinition<string>

Defined in: packages/sigma/src/rendering/program.ts:134

Returns

InstancedProgramDefinition<string> | ProgramDefinition<string>

Inherited from

LabelProgram.getDefinition


hasNothingToRender()

hasNothingToRender(): boolean

Defined in: packages/sigma/src/rendering/nodes/labels/base.ts:94

Check if there’s nothing to render.

Returns

boolean

Inherited from

LabelProgram.hasNothingToRender


invalidateBuffers()

invalidateBuffers(): void

Defined in: packages/sigma/src/rendering/program.ts:364

Mark GPU buffers as needing re-upload. Call this after modifying the array data outside of reallocate.

Returns

void

Inherited from

LabelProgram.invalidateBuffers


kill()

kill(): void

Defined in: packages/sigma/src/rendering/program.ts:193

Returns

void

Inherited from

LabelProgram.kill


measureLabel()

abstract measureLabel(text, fontSize, fontKey?): object

Defined in: packages/sigma/src/rendering/nodes/labels/base.ts:45

Measure a label using the same glyph metrics as rendering.

Parameters

text

string

fontSize

number

fontKey?

string

Returns

object

height

height: number

textHeight

textHeight: number

width

width: number

Inherited from

LabelProgram.measureLabel


measureLabelAtlasWidth()

measureLabelAtlasWidth(text, fontKey?): number

Defined in: packages/sigma/src/rendering/edges/labels/factory.ts:734

Parameters

text

string

fontKey?

string

Returns

number


processEdgeLabel()

processEdgeLabel(labelKey, offset, data): number

Defined in: packages/sigma/src/rendering/edges/labels/factory.ts:733

Parameters

labelKey

string

offset

number

data

EdgeLabelDisplayData

Returns

number


processLabel()

processLabel(_labelKey, offset, data): number

Defined in: packages/sigma/src/rendering/nodes/labels/base.ts:64

Process a label and write its character data to the GPU buffer.

Parameters

_labelKey

string

offset

number

data

EdgeLabelDisplayData

Returns

number

Inherited from

LabelProgram.processLabel


reallocate()

reallocate(characterCount): void

Defined in: packages/sigma/src/rendering/nodes/labels/base.ts:118

Reallocate buffers if needed and set the character count for this frame. Only reallocates GPU buffers when capacity is exceeded.

Parameters

characterCount

number

Number of characters to render this frame

Returns

void

Inherited from

LabelProgram.reallocate


registerFont()

abstract registerFont(family, weight?, style?): string

Defined in: packages/sigma/src/rendering/nodes/labels/base.ts:42

Register a font for use in labels and return its lookup key.

Parameters

family

string

weight?

string

style?

string

Returns

string

Inherited from

LabelProgram.registerFont


render()

render(params, offset?, count?): void

Defined in: packages/sigma/src/rendering/program.ts:395

Parameters

params

RenderParams

offset?

number

count?

number

Returns

void

Inherited from

LabelProgram.render


setUniforms()

abstract setUniforms(params, programInfo): void

Defined in: packages/sigma/src/rendering/program.ts:377

Parameters

params

RenderParams

programInfo

ProgramInfo

Returns

void

Inherited from

LabelProgram.setUniforms