sdfCappedTorus

a signed distance field for a capped torus.

110 total functionsUpdated: Invalid Date

sdfCappedTorus

a signed distance field for a capped torus.

Parameters

NameTypeDescription
positionvec3<f32>3D position to evaluate.
majorRadiusf32Major radius of the torus.
minorRadiusf32Minor radius of the torus.
anglef32Cap angle in radians.

Returns

f32distance to the capped torus surface.

WGSL Code

fn sdfCappedTorus(position: vec3<f32>, majorRadius: f32, minorRadius: f32, angle: f32) -> f32 {
let sc = vec2<f32>(sin(angle), cos(angle));
let q = vec3<f32>(abs(position.x), position.y, position.z);
let k = select(
length(q.xy),
dot(q.xy, sc),
sc.y * q.x > sc.x * q.y
);
return sqrt(dot(q, q) +
majorRadius * majorRadius -
2.0 * majorRadius * k) -
minorRadius;
}

About wgsl-fns

A JavaScript library providing WGSL utility functions as strings for WebGPU shader development. Includes mathematical utilities, noise generation, signed distance fields, and color manipulation functions.

Install:npm install wgsl-fns
Import:import { sdfCappedTorus, getFns } from 'wgsl-fns'
Usage:getFns(['sdfCappedTorus'])