aboutsummaryrefslogtreecommitdiff
path: root/src/main/resources/shaders/modules/sdf.glsl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/main/resources/shaders/modules/sdf.glsl6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/main/resources/shaders/modules/sdf.glsl b/src/main/resources/shaders/modules/sdf.glsl
index 8121b18..9051339 100644
--- a/src/main/resources/shaders/modules/sdf.glsl
+++ b/src/main/resources/shaders/modules/sdf.glsl
@@ -10,3 +10,9 @@ 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;
+}