2D SDF Functions

Circle - exact   

float sdCircle( vec2 p, float r )

Box - exact   

float sdBox( in vec2 p, in vec2 b )

Rhombus - exact   

float ndot(vec2 a, vec2 b ) { return a.x*b.x - a.y*b.y; } float sdRhombus( in vec2 p, in vec2 b )

Equilateral Triangle - exact   

float sdEquilateralTriangle( in vec2 p, in float r )

Uneven Capsule - exact   

float sdUnevenCapsule( vec2 p, float r1, float r2, float h )

Regular Hexagon - exact

float sdHexagon( in vec2 p, in float r )

Hexagram - exact   

float sdHexagram( in vec2 p, in float r )

Regular Star - exact   

float sdStar( in vec2 p, in float r, in int n, in float m)

Moon - exact   

float sdMoon(vec2 p, float d, float ra, float rb )

Heart - exact   

float sdHeart( in vec2 p )

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( in vec2 p, in vec2 wh, in float n )

Quadratic Circle - exact   

float sdQuadraticCircle( in vec2 p )