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

Reply via email to