Added mandelbrot pigment.
[raymarcher.git] / Operations.lua
index d606d39..617916d 100644 (file)
@@ -13,8 +13,20 @@ local function union(s1, s2)
    end
 end
 
+local function diff(s1, s2)
+   return function (location)
+      local p1 = s1(location)
+      local p2 = s2(location)
+
+      return {dist = math.max(p1.dist, -p2.dist),
+              texture = p1.texture}
+   end
+end
+
+
 Operations = {
-   union = union
+   union = union,
+   diff = diff
 }
 
 return Operations