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

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.

Extends

Extended by

Type Parameters

Uniform

Uniform extends string = string

N

N extends Attributes = Attributes

E

E extends Attributes = Attributes

G

G extends Attributes = Attributes

DataType

DataType extends LabelDataBase = LabelDisplayData

Constructors

Constructor

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

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

Parameters

gl

WebGL2RenderingContext

_pickingBuffer

WebGLFramebuffer | null

renderer

Sigma<N, E, G>

Returns

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

Inherited from

Program.constructor

Properties

ATTRIBUTES

ATTRIBUTES: ProgramAttributeSpecification[]

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

Inherited from

Program.ATTRIBUTES


ATTRIBUTES_ITEMS_COUNT

ATTRIBUTES_ITEMS_COUNT: number

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

Inherited from

Program.ATTRIBUTES_ITEMS_COUNT


capacity

capacity: number = 0

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

Inherited from

Program.capacity


CONSTANT_ATTRIBUTES

CONSTANT_ATTRIBUTES: ProgramAttributeSpecification[]

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

Inherited from

Program.CONSTANT_ATTRIBUTES


CONSTANT_DATA

CONSTANT_DATA: number[][]

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

Inherited from

Program.CONSTANT_DATA


constantArray

constantArray: Float32Array

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

Inherited from

Program.constantArray


floats

floats: Float32Array

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

Inherited from

Program.floats


FRAGMENT_SHADER_SOURCE

FRAGMENT_SHADER_SOURCE: string

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

Inherited from

Program.FRAGMENT_SHADER_SOURCE


ints

ints: Uint32Array

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

Inherited from

Program.ints


isInstanced

isInstanced: boolean

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

Inherited from

Program.isInstanced


METHOD

METHOD: number

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

Inherited from

Program.METHOD


normalProgram

normalProgram: ProgramInfo

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

Inherited from

Program.normalProgram


pickProgram

pickProgram: ProgramInfo<string> | null = null

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

Inherited from

Program.pickProgram


renderer

renderer: Sigma<N, E, G>

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

Inherited from

Program.renderer


STRIDE

STRIDE: number

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

Inherited from

Program.STRIDE


UNIFORMS

UNIFORMS: readonly Uniform[]

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

Inherited from

Program.UNIFORMS


VERTEX_SHADER_SOURCE

VERTEX_SHADER_SOURCE: string

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

Inherited from

Program.VERTEX_SHADER_SOURCE


VERTICES

VERTICES: number

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

Inherited from

Program.VERTICES


verticesCount

verticesCount: number = 0

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

Inherited from

Program.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

Overrides

Program.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


getDefinition()

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

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

Returns

ProgramDefinition<Uniform> | InstancedProgramDefinition<Uniform>

Inherited from

Program.getDefinition


hasNothingToRender()

hasNothingToRender(): boolean

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

Check if there’s nothing to render.

Returns

boolean

Overrides

Program.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

Program.invalidateBuffers


kill()

kill(): void

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

Returns

void

Inherited from

Program.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


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

DataType

Returns

number


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

Overrides

Program.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


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

Program.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

Program.setUniforms