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{P.make_sphere(V.new{0,0,0}, 1, T.make_phong_texture(lights, T.map_spherical( T.make_checkered_pigment({0,1,0},{1,1,1}), V.origin, 10, 10), 0.2, 0.7, 1.0, 100)), P.make_sphere(V.new{0,0,0}, 0.8), P.make_pipe(V.new{0,0,0}, 0.5, V.new{0,1,0}), P.make_pipe(V.new{0,0,0}, 0.5, V.new{1,0,0})}, P.make_plane(V.new{0,0,-1}, V.new{0,0,1}, T.make_phong_texture(lights, T.map_rectangular( T.make_mandelbrot_pigment( T.make_checkered_pigment({0.5,0.2,1.0},{1,1,1}), T.make_checkered_pigment({1,1,1},{0.5,0.2,1.0}), 20), V.x, V.y), 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, 1280, 960, "mandel_floor.ppm") -- Render.render(scene, 320, 200, "mandel_floor.ppm")