Thick-line draw path — quad-expands every line in the vertex shader to user-controlled pixel thickness, with smoothstep antialiasing across the line's cross-axis. Renders at any thickness on every WebGL2 backend, including ANGLE on Windows which clamps gl.LINES to a single pixel.

Substitutive: a mesh with this technique attached renders through the thick-line shader instead of the default hardware-line path.

Hierarchy (View Summary)

Properties

destroyed: boolean = false

True if this SceneTechnique has been destroyed.

id: string

ID, unique within the parent !scene.SceneModel | SceneModel's techniques registry.

lineWidth: number

Pixel thickness for line meshes carrying this technique. 0 means "fall back to the View's linesMaterial.lineWidth"; any positive value overrides that fallback per-technique. The thick-line draw technique reads this value into the per-mesh attribute table at GPU upload, then consumes it in the vertex shader's quad-expansion step.

mode: SceneTechniqueMode = "substitutive"

Whether this technique replaces the default draw path or adds an extra pass on top of it. See SceneTechniqueMode.

model: SceneModel

The SceneModel that owns this technique.

numMeshes: number = 0

The count of SceneMeshes that reference this SceneTechnique. Maintained by SceneModel.createMesh / SceneModel._destroyMesh. Used by destroy to refuse destruction while at least one mesh still references the technique (same guard as SceneMaterial.destroy).

type: "thickLines" = ...

Discriminator string identifying the technique family. The renderer's variant selection maps this to a DrawTechnique.

uniqueId: string

Globally-unique ID — the concatenation of the parent SceneModel's id and this technique's id, separated by "__". Mirrors the same convention used by SceneGeometry, SceneMaterial, etc.

Whether lineWidth is interpreted in screen space (constant pixel thickness regardless of depth) or perspective space (the line thickness diminishes with distance like any other geometry). Default "screen".

Mechanically, "screen" makes the vertex shader cancel the perspective divide for the quad-expansion offset, so a 3-pixel line stays 3 pixels wide at the far plane. "perspective" lets the perspective divide do its normal thing — lineWidth then reads as "pixels at the near plane" and falls off with depth.

Methods