@thi.ng/shader-ast-stdlib
Version:
Function collection for modular GPGPU / shader programming with @thi.ng/shader-ast
14 lines (13 loc) • 519 B
JavaScript
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
};