Parameters
Name | Type | Description |
---|---|---|
position | vec3<f32> | 3D position to evaluate. |
radius | f32 | Radius of the sphere. |
Returns
WGSL Code
fn sdfSphere(position: vec3<f32>, radius: f32) -> f32 {return length(position) - radius;}
Name | Type | Description |
---|---|---|
position | vec3<f32> | 3D position to evaluate. |
radius | f32 | Radius of the sphere. |
fn sdfSphere(position: vec3<f32>, radius: f32) -> f32 {return length(position) - radius;}
distance function for a circle.
distance function for a rectangular box.
two SDFs using union operation (closest surface).
two SDFs using intersection operation (overlapping area only).
two SDFs using subtraction operation (first shape minus second).
a signed distance field for a 3D box frame (hollow box).
a signed distance field for a capped torus.
a signed distance field for a capsule (cylinder with rounded caps).
a signed distance field for a cone.
a signed distance field for a cylinder.
a signed distance field for an ellipsoid.
a signed distance field for a gyroid surface.
a signed distance field for a hexagonal prism.
a signed distance field for an icosahedron.
a signed distance field for a 4D Julia set fractal.
a signed distance field for an octahedron.
a signed distance field for an infinite plane.
a signed distance field for a pyramid.
a signed distance field for a rhombus.
a signed distance field for a rounded box.
a signed distance field for a rounded cone.
a signed distance field for a rounded cylinder.
a signed distance field for a tetrahedron.
a signed distance field for a torus.
a signed distance field for a triangular prism.
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.
npm install wgsl-fns
import { sdfSphere, getFns } from 'wgsl-fns'
getFns(['sdfSphere'])