ICFP Compition: Squeak Ray tracing entry

Rob Withers slosher2 at home.com
Thu Aug 31 08:20:58 UTC 2000


So here is what we managed to do in 72 hours and submitted in the nick
of time.  We includes Andreas Raab, Ned Konz, Bert Freudenberg, Bijan
Parsia, John McIntosh and I.  Many, many thanks to them for a fantastic
piece of hacking.  

So what is it?  There is a simplified functional programming language
with scene description extensions called GML.  It has closures, arrays,
numbers, stringliterals, and variables.  We had to parse and execute
this little language and ray trace the scene when a #render function was
invoked.  It is a postfix language, so we implemented a simple
stack-based machine that processed them, holding the stack and the
environment dictionary.  When a closure is created, it gets it's own
environment.

The renderer doesn't utilize all of the primitives available,
unfortunately, but Andreas or Bert could explain this better.  Something
about a cubic attenuation of the lighting model, which is a good
approximation for LA smog (or is it quartic)?

You need tgen to run this which can be had at
http://callisto.swiki.net/1

I would include the images but they are too big.  You'll just have to
render them youselves!  ;-)

Look in the comment of GMLSimpleMachine for examples...

enjoy!

Rob

-- 
--------------------------------------------------
Smalltalking by choice.  Isn't it nice to have one!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rayTracer.3.tgz
Type: application/octet-stream
Size: 32632 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20000831/c392afc8/rayTracer.3.obj


More information about the Squeak-dev mailing list