--- /dev/null
+require "Vector"
+local V = Vector
+
+require "Primitives"
+local P = Primitives
+
+require "Operations"
+local O = Operations
+
+require "Textures"
+local T = Textures
+
+require "Render"
+
+local lights = {V.new{3,-3,1}}
+
+local scene = {
+ sdf =
+ O.union(
+ O.diff(
+ O.diff(
+ O.diff(
+ P.make_sphere(V.new{0,0,1}, 1,
+ T.make_phong_texture(lights,
+ T.make_solid_pigment({0,1,0}),
+ 0.2, 0.7, 1.0, 100)),
+ P.make_sphere(V.new{0,0,1}, 0.8)),
+ P.make_pipe(V.new{0,0,1}, 0.5, V.new{0,1,0})),
+ P.make_pipe(V.new{0,0,1}, 0.5, V.new{1,0,0})),
+
+ P.make_plane(V.new{0,0,0}, V.new{0,0,1},
+ T.make_phong_texture(lights,
+ T.make_mandelbrot_pigment({0,0,0}, 20),
+ 0.2, 1.0, 0, 1))),
+
+ camera = {location = V.new{2,-5,1},
+ point_at = V.new{0,0,0},
+ right = V.x,
+ fov = 1}}
+
+Render.render(scene, 320, 200, "mandel_floor.ppm")