Hi Brandon,
I'm thinking to allow for animations via two main methods:
a) A "time" parameter that can be inserted in formulae to allow variation 
over frames. Good for simple animation.
b) Allowing procedural generation of multiple frames from regular Clojure 
code. So you could theoretically run a fairly complex simulation while 
doing this generation.
An open question is how much you can benefit from structural sharing of 
unchanging components across successive frames. My suspicion is that the 
answer is "quite a lot" but this needs some more thought.....

On Monday, 10 December 2012 11:46:00 UTC+8, Brandon Bloom wrote:
>
> Are you only interested in static scenes? Or are you interested in 
> simulations too?
>
> On Sunday, December 9, 2012 4:03:36 PM UTC-8, Mikera wrote:
>>
>> 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