summaryrefslogtreecommitdiff
path: root/shadeop.c
diff options
context:
space:
mode:
Diffstat (limited to 'shadeop.c')
-rw-r--r--shadeop.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/shadeop.c b/shadeop.c
new file mode 100644
index 0000000..c1484c3
--- /dev/null
+++ b/shadeop.c
@@ -0,0 +1,26 @@
+#include <u.h>
+#include <libc.h>
+#include <thread.h>
+#include <draw.h>
+#include <memdraw.h>
+#include <geometry.h>
+#include "libobj/obj.h"
+#include "graphics.h"
+#include "internal.h"
+
+double
+step(double edge, double n)
+{
+ if(n < edge)
+ return 0;
+ return 1;
+}
+
+double
+smoothstep(double edge0, double edge1, double n)
+{
+ double t;
+
+ t = fclamp((n-edge0)/(edge1-edge0), 0, 1);
+ return t*t * (3 - 2*t);
+}