UNPKG

@thi.ng/shader-ast

Version:

DSL to define shader code in TypeScript and cross-compile to GLSL, JS and other targets

24 lines 1.61 kB
import type { Lit, Sym, Term } from "../api/nodes.js"; import type { SymOpts } from "../api/syms.js"; import type { ArrayTypeMap, Type } from "../api/types.js"; export declare function sym<T extends Type>(init: Term<T>): Sym<T>; export declare function sym<T extends Type>(type: T): Sym<T>; export declare function sym<T extends Type>(type: T, opts: SymOpts): Sym<T>; export declare function sym<T extends Type>(type: T, init: Term<T>): Sym<T>; export declare function sym<T extends Type>(type: T, id: string): Sym<T>; export declare function sym<T extends Type>(type: T, id: string, opts: SymOpts): Sym<T>; export declare function sym<T extends Type>(type: T, opts: SymOpts, init: Term<T>): Sym<T>; export declare function sym<T extends Type>(type: T, id: string, opts: SymOpts, init: Term<T>): Sym<T>; export declare const constSym: <T extends Type>(type: T, id?: string, opts?: SymOpts, init?: Term<T>) => Sym<T>; /** * Defines a new symbol with optional initial array values. * * Important: Array initializers are UNSUPPORTED in GLSL ES v1 (WebGL), * any code using such initializers will only work under WebGL2 or other * targets. */ export declare const arraySym: <T extends keyof ArrayTypeMap>(type: T, id?: string, opts?: SymOpts, init?: (Lit<T> | Sym<T>)[]) => Sym<ArrayTypeMap[T]>; export declare const input: <T extends Type>(type: T, id: string, opts?: SymOpts) => Sym<T>; export declare const output: <T extends Type>(type: T, id: string, opts?: SymOpts) => Sym<T>; export declare const uniform: <T extends Type>(type: T, id: string, opts?: SymOpts) => Sym<T>; //# sourceMappingURL=sym.d.ts.map