aboutsummaryrefslogtreecommitdiff
path: root/src/main/resources/shaders/modules
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2026-09-18 12:46:58 +0530
committerAkshay Nair <phenax5@gmail.com>2026-09-18 12:46:58 +0530
commit8700f1b32f812104200e2c9041f35f501e0b67fa (patch)
treef270f36080485312bf4b2c4ee0feb0f5011c53d5 /src/main/resources/shaders/modules
parenta329bfdbaa518f717ca40115edb21f07a8ad57cf (diff)
downloadart-playground-openrndr-8700f1b32f812104200e2c9041f35f501e0b67fa.tar.gz
art-playground-openrndr-8700f1b32f812104200e2c9041f35f501e0b67fa.zip
Faces stuff + simple camera rotation
Diffstat (limited to '')
-rw-r--r--src/main/resources/shaders/modules/sdf.glsl6
-rw-r--r--src/main/resources/shaders/modules/utils.glsl5
2 files changed, 11 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;
+}
diff --git a/src/main/resources/shaders/modules/utils.glsl b/src/main/resources/shaders/modules/utils.glsl
index 1616e8c..6908f3b 100644
--- a/src/main/resources/shaders/modules/utils.glsl
+++ b/src/main/resources/shaders/modules/utils.glsl
@@ -2,3 +2,8 @@ float smin(float a, float b, float k) {
float h = clamp(0.5 + 0.5 * (b - a) / k, 0.0, 1.0);
return mix(b, a, h) - k * h * (1.0 - h);
}
+
+float ssubtract(float a, float b, float k) {
+ return -smin(-a, b, k);
+}
+