blob: 905133980ebabb9782b47a58753a4a84deb83e56 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
float sdf_circle(in vec3 p, in float radius) {
return length(p) - radius;
}
float sdf_plane(in vec3 p, in vec3 normal, in float offset) {
return dot(p, normal) + offset;
}
float sdf_box(in vec3 p, in vec3 dimens, in float rounding) {
vec3 q = abs(p) - dimens + rounding;
return length(max(q, 0.0)) + min(max(q.x, max(q.y, q.z)), 0.0) - rounding;
}
float sd_ellipsoid(vec3 p, vec3 r) {
float k0 = length(p / r);
float k1 = length(p / (r * r));
return k0 * (k0 - 1.0) / k1;
}
|