Skip to content
sigma.js sigma.js
v4.0.6 Docs Examples GitHub 12.2K

LabelProgram

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

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.

Uniform extends string = string

N extends Attributes = Attributes

E extends Attributes = Attributes

G extends Attributes = Attributes

DataType extends LabelDataBase = LabelDisplayData

new LabelProgram<Uniform, N, E, G, DataType>(gl, _pickingBuffer, renderer): LabelProgram<Uniform, N, E, G, DataType>

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

WebGL2RenderingContext

WebGLFramebuffer | null

Sigma<N, E, G>

LabelProgram<Uniform, N, E, G, DataType>

Program.constructor

ATTRIBUTES: ProgramAttributeSpecification[]

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

Program.ATTRIBUTES


ATTRIBUTES_ITEMS_COUNT: number

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

Program.ATTRIBUTES_ITEMS_COUNT


capacity: number = 0

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

Program.capacity


CONSTANT_ATTRIBUTES: ProgramAttributeSpecification[]

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

Program.CONSTANT_ATTRIBUTES


CONSTANT_DATA: number[][]

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

Program.CONSTANT_DATA


constantArray: Float32Array

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

Program.constantArray


debugStats: object

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

bufferUploadBytes: number = 0

drawCalls: number = 0

verticesDrawn: number = 0

Program.debugStats


floats: Float32Array

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

Program.floats


FRAGMENT_SHADER_SOURCE: string

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

Program.FRAGMENT_SHADER_SOURCE


ints: Uint32Array

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

Program.ints


isInstanced: boolean

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

Program.isInstanced


METHOD: number

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

Program.METHOD


normalProgram: ProgramInfo

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

Program.normalProgram


pickProgram: ProgramInfo<string> | null = null

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

Program.pickProgram


renderer: Sigma<N, E, G>

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

Program.renderer


STRIDE: number

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

Program.STRIDE


UNIFORMS: readonly Uniform[]

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

Program.UNIFORMS


VERTEX_SHADER_SOURCE: string

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

Program.VERTEX_SHADER_SOURCE


VERTICES: number

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

Program.VERTICES


verticesCount: number = 0

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

Program.verticesCount

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.

number

ProgramInfo

void

Program.drawWebGL


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.

string[]

string

void


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

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

ProgramDefinition<Uniform> | InstancedProgramDefinition<Uniform>

Program.getDefinition


hasNothingToRender(): boolean

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

Check if there’s nothing to render.

boolean

Program.hasNothingToRender


invalidateBuffers(): void

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

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

void

Program.invalidateBuffers


kill(): void

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

void

Program.kill


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.

string

number

string

object

height: number

textHeight: number

width: number


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.

string

number

DataType

number


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.

number

Number of characters to render this frame

void

Program.reallocate


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.

string

string

string

string


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

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

RenderParams

number

number

void

Program.render


resetDebugStats(): void

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

void

Program.resetDebugStats


abstract setUniforms(params, programInfo): void

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

RenderParams

ProgramInfo

void

Program.setUniforms