@thi.ng/shader-ast-stdlib
Version:
Function collection for modular GPGPU / shader programming with @thi.ng/shader-ast
13 lines (12 loc) • 487 B
JavaScript
import { F, V3 } from "@thi.ng/shader-ast/api/types";
import { defn, ret } from "@thi.ng/shader-ast/ast/function";
import { vec2 } from "@thi.ng/shader-ast/ast/lit";
import { sub } from "@thi.ng/shader-ast/ast/ops";
import { $, $y } from "@thi.ng/shader-ast/ast/swizzle";
import { length } from "@thi.ng/shader-ast/builtin/math";
const sdfTorus = defn(F, "sdTorus", [V3, F, F], (p, r1, r2) => [
ret(sub(length(vec2(sub(length($(p, "xz")), r2), $y(p))), r1))
]);
export {
sdfTorus
};