summaryrefslogtreecommitdiff
path: root/src/sdf.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/sdf.rs')
-rw-r--r--src/sdf.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/sdf.rs b/src/sdf.rs
index edf777c..87643cb 100644
--- a/src/sdf.rs
+++ b/src/sdf.rs
@@ -195,6 +195,10 @@ pub enum R3ToR3 {
#[prob(2)]
#[bias(0.01)]
Sigmoid, //based on sigmoid(x) = 1 / (1 + e^-x)
+ #[prob(2)]
+ Wibbly,
+ #[prob(2)]
+ Sqrt(Constant),
#[prob(0)]
Twisty(Constant),
}
@@ -553,6 +557,21 @@ impl Function for R3ToR3 {
);
output
}
+ Wibbly => {
+ let output = var.next();
+ write_str!(code,
+ "vec3 {output} = sqrt({input}*({input}+3*sin({input}))) * 0.39;\n"
+ );
+ output
+ }
+ Sqrt(c) => {
+ let output = var.next();
+ write_str!(code,
+ "vec3 {output} = sqrt({c} * abs({input}) + {c}*{c}) * 2.0;\n"
+ );
+ output
+
+ }
}
}
}