sdfCappedTorus

a signed distance field for a capped torus.

110 total functionsUpdated: 30/07/2026

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'])