Hi all, I'm working on a hobby project to implement a Clojure raytracer, something along the lines of POV-Ray: https://github.com/mikera/enlight
It's a a fairly preliminary stage right now, but I'm interested in ideas on how to create the scene description language. Roughly the objectives are: - Allow an intuitive, declarative definition of a 3D scene - Allow parts of the scene to be generated programatically (e.g. randomly duplicating objects!) - Allow mathematical functions and textures to be expressed (probably using clisk - https://github.com/mikera/clisk) - Enable the scene to be compiled down to an optimised scene graph for rendering - Be reasonably concise as a DSL I'm thinking of something like: [ [:camera :position [0 0 -10] :look-at [0 0 0]] ;; a camera for the scene [:sphere :radius 1 :translate [0 2 0] :colour red] ;; a translated red shere [:box [0 0 0] [1 1 1] :colour (function [1 x y])] ;; a box with a procedural colour function (for [i [2 3 4]] [:box [i 1 1] [(inc i) 2 2]]) ;; generate multiple boxes with a parameterised position ] Any thoughts / ideas / feedback? -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en