aboutsummaryrefslogtreecommitdiff
path: root/src/main/resources/shaders/modules
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/main/resources/shaders/modules/sdf.glsl7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/main/resources/shaders/modules/sdf.glsl b/src/main/resources/shaders/modules/sdf.glsl
index e7222b4..4c2f60c 100644
--- a/src/main/resources/shaders/modules/sdf.glsl
+++ b/src/main/resources/shaders/modules/sdf.glsl
@@ -26,8 +26,13 @@ float sd_ellipsoid(vec3 p, vec3 r) {
return k0 * (k0 - 1.0) / k1;
}
-float sd_cone(vec3 p, vec2 c) {
+float sdf_cone(vec3 p, vec2 c) {
vec2 q = vec2(length(p.xz), -p.y);
float d = length(q - c * max(dot(q, c), 0.0));
return d * ((q.x * c.y - q.y * c.x < 0.0) ? -1.0 : 1.0);
}
+
+float sdf_capsule(vec3 p, float h, float r) {
+ p.y -= clamp(p.y, 0.0, h);
+ return length(p) - r;
+}