Skip to content

GlyphField.getScaleSourceDescriptor

Summary

GlyphField.getScaleSourceDescriptor returns the current scale source descriptor value derived from this GlyphField runtime state.

Syntax

GlyphField.getScaleSourceDescriptor(revision: number = this._scaleRevision): ScaleSourceDescriptor | null
const result = glyphField.getScaleSourceDescriptor(revision);

Parameters

Name Type Required Description
revision number = this._scaleRevision Yes Optional revision token for cache/scaling synchronization.

Returns

ScaleSourceDescriptor | null - Scale-source descriptor for compute/stat workflows, or null when unavailable.

Type Details

ScaleSourceDescriptor

type ScaleSourceDescriptor = {

    buffer: ScaleBufferSource;

    count: number;

    componentCount?: number;

    componentIndex?: number;

    valueMode?: ScaleValueMode;

    stride?: number;

    offset?: number;

    revision?: number;

};

ScaleSourceDescriptor Fields

Name Type Required Description
buffer ScaleBufferSource Yes GPUBuffer handle used as an external data source.
count number Yes Numeric input controlling count for this operation.
componentCount number No Numeric input controlling componentCount for this operation.
componentIndex number No Numeric input controlling componentIndex for this operation.
valueMode ScaleValueMode No Value extraction mode used when mapping source data into scale inputs.
stride number No Numeric input controlling stride for this operation.
offset number No Numeric input controlling offset for this operation.
revision number No Optional revision token for cache/scaling synchronization.

ScaleBufferSource

type ScaleBufferSource = GPUBuffer | { buffer: GPUBuffer; byteLength?: number };

ScaleValueMode

type ScaleValueMode = "component" | "magnitude";

Example

const canvas = document.querySelector("canvas");
const wgpu = await WasmGPU.create(canvas);

const glyphField = wgpu.createGlyphField({ instanceCount: 1, positions: new Float32Array([0, 0, 0, 0]), rotations: new Float32Array([0, 0, 0, 1]), scales: new Float32Array([1, 1, 1, 0]), attributes: new Float32Array([0.5, 0, 0, 0]), scaleTransform: { mode: "linear", domainMin: 0, domainMax: 1 } });
const revision = 0;
const result = glyphField.getScaleSourceDescriptor(revision);
console.log(result);

See Also