@thi.ng/shader-ast-stdlib
Version:
Function collection for modular GPGPU / shader programming with @thi.ng/shader-ast
12 lines (11 loc) • 509 B
JavaScript
import { add, sub } from "@thi.ng/shader-ast/ast/ops";
import { $, $x, $y, $z } from "@thi.ng/shader-ast/ast/swizzle";
import { abs } from "@thi.ng/shader-ast/builtin/math";
const distManhattan2 = (a, b) => add(abs(sub($x(a), $x(b))), abs(sub($y(a), $y(b))));
const distManhattan3 = (a, b) => add(distManhattan2(a, b), abs(sub($z(a), $z(b))));
const distManhattan4 = (a, b) => add(distManhattan2(a, b), distManhattan2($(a, "zw"), $(b, "zw")));
export {
distManhattan2,
distManhattan3,
distManhattan4
};