API reference
Every public class, method, and event in @codexo/exojs. Generated from source.
classUniformBlockData
One uniform block's values, owned by the material or filter that declared it. The block holds a single `ArrayBuffer` in the canonical layout, the typed accessors that write into it, and a revision that advances whenever a byte changes. Backends compare the revision they last uploaded against revision and skip the transfer when it has not moved, so a block whose values are set once and then left alone costs no GPU traffic per frame. Sharing a Shader across instances shares the declaration, never these values: each material or filter builds its own block.
import { UniformBlockData } from '@codexo/exojs'One uniform block's values, owned by the material or filter that declared it.
The block holds a single `ArrayBuffer` in the canonical layout, the typed accessors that write into it, and a revision that advances whenever a byte changes. Backends compare the revision they last uploaded against revision and skip the transfer when it has not moved, so a block whose values are set once and then left alone costs no GPU traffic per frame.
Sharing a Shader across instances shares the declaration, never these values: each material or filter builds its own block.
new(layout: UniformBlockLayoutOne uniform block: its shader-visible names, its size, and its fields., onChange?: () => void): UniformBlockData<F>commit(): thisset(values: UniformStructInputThe values a struct's fields accept, all optional.<F>): thissetPacked(source: ArrayBufferView): thisfloat32: Float32Arrayint32: Int32Arrayuint32: Uint32ArraybyteLength: numberrevision: number