Taos API Reference
    Preparing search index...

    Variable exprConst

    expr: {
        constant: (v: number) => Expr;
        vec2: (x: Numlike, y: Numlike) => Expr;
        vec3: (x: Numlike, y: Numlike, z: Numlike) => Expr;
        vec4: (x: Numlike, y: Numlike, z: Numlike, w: Numlike) => Expr;
        constVec3: (v: [number, number, number]) => Expr;
        constVec4: (v: [number, number, number, number]) => Expr;
        attribute: (attr: ParticleAttribute) => Expr;
        time: () => Expr;
        deltaTime: () => Expr;
        particleId: () => Expr;
        emitterOrigin: () => Expr;
        random: (
            opts?: { mode?: RandomMode; min?: number; max?: number; seed?: number },
        ) => Expr;
        variable: (name: string) => Expr;
        neg: (a: Numlike) => Expr;
        abs: (a: Numlike) => Expr;
        sign: (a: Numlike) => Expr;
        sin: (a: Numlike) => Expr;
        cos: (a: Numlike) => Expr;
        tan: (a: Numlike) => Expr;
        asin: (a: Numlike) => Expr;
        acos: (a: Numlike) => Expr;
        atan: (a: Numlike) => Expr;
        exp: (a: Numlike) => Expr;
        log: (a: Numlike) => Expr;
        sqrt: (a: Numlike) => Expr;
        floor: (a: Numlike) => Expr;
        ceil: (a: Numlike) => Expr;
        fract: (a: Numlike) => Expr;
        saturate: (a: Numlike) => Expr;
        not: (a: Numlike) => Expr;
        add: (a: Numlike, b: Numlike) => Expr;
        sub: (a: Numlike, b: Numlike) => Expr;
        mul: (a: Numlike, b: Numlike) => Expr;
        div: (a: Numlike, b: Numlike) => Expr;
        mod: (a: Numlike, b: Numlike) => Expr;
        min: (a: Numlike, b: Numlike) => Expr;
        max: (a: Numlike, b: Numlike) => Expr;
        pow: (a: Numlike, b: Numlike) => Expr;
        atan2: (a: Numlike, b: Numlike) => Expr;
        step: (a: Numlike, b: Numlike) => Expr;
        length: (a: Expr) => Expr;
        normalize: (a: Expr) => Expr;
        dot: (a: Expr, b: Expr) => Expr;
        cross: (a: Expr, b: Expr) => Expr;
        swizzle: (arg: Expr, channels: string) => Expr;
        lt: (a: Numlike, b: Numlike) => Expr;
        le: (a: Numlike, b: Numlike) => Expr;
        gt: (a: Numlike, b: Numlike) => Expr;
        ge: (a: Numlike, b: Numlike) => Expr;
        eq: (a: Numlike, b: Numlike) => Expr;
        neq: (a: Numlike, b: Numlike) => Expr;
        and: (a: Numlike, b: Numlike) => Expr;
        or: (a: Numlike, b: Numlike) => Expr;
        clamp: (value: Numlike, mn: Numlike, mx: Numlike) => Expr;
        mix: (a: Numlike, b: Numlike, t: Numlike) => Expr;
        smoothstep: (edge0: Numlike, edge1: Numlike, x: Numlike) => Expr;
        select: (cond: Expr, whenTrue: Numlike, whenFalse: Numlike) => Expr;
    } = ...

    Constructor helpers for Expr nodes. Equivalent to building the discriminated union by hand, but shorter and accepts plain numbers in any slot.

    Type Declaration

    • constant: (v: number) => Expr
    • vec2: (x: Numlike, y: Numlike) => Expr
    • vec3: (x: Numlike, y: Numlike, z: Numlike) => Expr
    • vec4: (x: Numlike, y: Numlike, z: Numlike, w: Numlike) => Expr
    • constVec3: (v: [number, number, number]) => Expr
    • constVec4: (v: [number, number, number, number]) => Expr
    • attribute: (attr: ParticleAttribute) => Expr
    • time: () => Expr
    • deltaTime: () => Expr
    • particleId: () => Expr
    • emitterOrigin: () => Expr
    • random: (
          opts?: { mode?: RandomMode; min?: number; max?: number; seed?: number },
      ) => Expr
    • variable: (name: string) => Expr
    • neg: (a: Numlike) => Expr
    • abs: (a: Numlike) => Expr
    • sign: (a: Numlike) => Expr
    • sin: (a: Numlike) => Expr
    • cos: (a: Numlike) => Expr
    • tan: (a: Numlike) => Expr
    • asin: (a: Numlike) => Expr
    • acos: (a: Numlike) => Expr
    • atan: (a: Numlike) => Expr
    • exp: (a: Numlike) => Expr
    • log: (a: Numlike) => Expr
    • sqrt: (a: Numlike) => Expr
    • floor: (a: Numlike) => Expr
    • ceil: (a: Numlike) => Expr
    • fract: (a: Numlike) => Expr
    • saturate: (a: Numlike) => Expr
    • not: (a: Numlike) => Expr
    • add: (a: Numlike, b: Numlike) => Expr
    • sub: (a: Numlike, b: Numlike) => Expr
    • mul: (a: Numlike, b: Numlike) => Expr
    • div: (a: Numlike, b: Numlike) => Expr
    • mod: (a: Numlike, b: Numlike) => Expr
    • min: (a: Numlike, b: Numlike) => Expr
    • max: (a: Numlike, b: Numlike) => Expr
    • pow: (a: Numlike, b: Numlike) => Expr
    • atan2: (a: Numlike, b: Numlike) => Expr
    • step: (a: Numlike, b: Numlike) => Expr
    • length: (a: Expr) => Expr
    • normalize: (a: Expr) => Expr
    • dot: (a: Expr, b: Expr) => Expr
    • cross: (a: Expr, b: Expr) => Expr
    • swizzle: (arg: Expr, channels: string) => Expr
    • lt: (a: Numlike, b: Numlike) => Expr
    • le: (a: Numlike, b: Numlike) => Expr
    • gt: (a: Numlike, b: Numlike) => Expr
    • ge: (a: Numlike, b: Numlike) => Expr
    • eq: (a: Numlike, b: Numlike) => Expr
    • neq: (a: Numlike, b: Numlike) => Expr
    • and: (a: Numlike, b: Numlike) => Expr
    • or: (a: Numlike, b: Numlike) => Expr
    • clamp: (value: Numlike, mn: Numlike, mx: Numlike) => Expr
    • mix: (a: Numlike, b: Numlike, t: Numlike) => Expr
    • smoothstep: (edge0: Numlike, edge1: Numlike, x: Numlike) => Expr
    • select: (cond: Expr, whenTrue: Numlike, whenFalse: Numlike) => Expr