3D GLSL Code Snippets

Sphere - exact
float sdSphere( vec3 p, float s )


Box - exact !!!
float sdBox( vec3 p, vec3 b )


Rounded Box - exact
float sdRoundedBox(vec3 p, vec3 b, float r)


Torus - exact !!!
float sdTorus( vec3 p, vec2 t )


Cone - exact !!!!
float sdCone(vec3 p, vec2 c)


Cylinder - exact
float sdCylinder( vec3 p, vec 2h )


Rounded Cylinder - exact
float sdRoundedCylinder(vec3 p, vec2 h, float r)

Capsule !!!!
float sdCapsule( vec3 p, vec3 a, vec3 b, float r )


Cut Hollow Sphere - exact
float sdCutHollowSphere( vec3 p, float r, float h, float t )

3D Star - exact !!!!
float sdStar3D(vec3 p, float r, float spikeAmp, int spikeCount)


Pyramid - exact !!!
float sdPyramid( vec3 p, float h )


Twist
float opTwist( in sdf3d primitive, in vec3 p )


Bend
float opCheapBend( in sdf3d primitive, in vec3 p )

Hexagonal Prism
float sdHexPrism( vec3 p, vec2 h )

Heart !!!
float sdHeart(vec2 p)

Ellipsoid
float sdHexPrism( vec3 p, vec2 h )

3D Crescent Moon - exact
float sdMoon3D(vec3 p, float r1, float r2, float offset)

Cross - exact exterior, bound interior
float sdCross( in vec2 p, in vec2 b, float r )

Tunnel - exact
float sdTunnel( in vec2 p, in vec2 wh )

Stairs - exact !!!!
float sdStairs( vec3 p, vec2 steps )

Spiral Staircase- exact !!!!
float sdSprialStaircase( vec3 p)

Helix - exact !!!!!
float sdHelix( in vec3 p, float fr, float r1, float r2 )

Box Frame - exact !!!!!
float sdBoxFrame( vec3 p, vec3 b, float e)


float sdLineSegment(vec3 p, vec3 a, vec3 b)


float opCheapBend( in sdf3d primitive, in vec3 p )


float sdSierpinski(vec3 p, float scale, int iterations)


Vesica Segment
float sdVesicaSegment( in vec3 p, in vec3 a, in vec3 b, in float w )


Smoke
float smoke = fbm(p + fbm(p + fbm(p)));


Cracks
float cracks = fbm(uv * 8.0 + vec2(flow * 0.2, 0.0)); cracks = smoothstep(0.4, 0.6, cracks)


Flame
vec3 flame = fractalFlame(uv, time * 0.01);


Ink
float ink = 0.6 + 0.4 * sin(flow * 10.0)


Spiral
float spiral = sin(radius * 10.0 - angle * 5.0 + iTime * 2.0)


Bubbles
float bubbles = pow(foam, 4.0) * 5.0;


Plasma
float plasma = sin(uv.x * 10.0 + time) + sin(uv.y * 10.0 + time) + sin(uv.x * 10.0 + uv.y * 10.0 + time) + sin(sqrt(pow(uv.x - 0.5, 2.0) + pow(uv.y - 0.5, 2.0)) * 20.0);

Patterns, Waves and Repetitions

Infinite Repetition
float sdInfiniteRepetition(vec3 p, vec3 c, float primitiveSize)


2D Concentric Circles
float sdConcentricRounds(vec2 p, float spacing)


3D Concentric Circles
float sdConcentricRounds3D(vec3 p, float spacing)


3D Ripple Pattern (Centered Circular Waves)
float sdRipple(vec3 p, float freq, float amp)


Wave Modifier for Deforming Geometry
vec3 waveDeform(vec3 p, float freq, float amp)


Dual-Axis Waves (Grid Water)
float dualWave(vec2 p, float freq, float amp)


Angular Waves (Polar Ripples)
float angularWave(vec2 p, float freq, float amp)


Noise-Warped Waves
float noiseWave(vec2 p, float freq, float amp)


Sawtooth & Square Waves
float sawWave(float x, float freq)


Beating Pulse (Heart or Soundwave)
float pulseWave(float x, float time, float freq, float amp)
