UNPKG

@thi.ng/shader-ast-stdlib

Version:

Function collection for modular GPGPU / shader programming with @thi.ng/shader-ast

14 lines (13 loc) 519 B
import { F } from "@thi.ng/shader-ast/api/types"; import { defn, ret } from "@thi.ng/shader-ast/ast/function"; import { FLOAT1 } from "@thi.ng/shader-ast/ast/lit"; import { mul, mulSelf, sub } from "@thi.ng/shader-ast/ast/ops"; import { exp2 } from "@thi.ng/shader-ast/builtin/math"; import { clamp01 } from "../math/clamp.js"; const fogExp2 = defn(F, "fogExp2", [F, F], (dist, density) => [ mulSelf(density, dist), ret(sub(FLOAT1, clamp01(exp2(mul(mul(density, density), -Math.LOG2E))))) ]); export { fogExp2 };