Cray - A Clojure Ray Tracer
code.google.com
code.google.com
After browsing the source, it seems they are using Java2D primitives, specifically BufferedImage to do textures and shaders. I wonder if this project could use JOGL bindings...
EDIT: btw, I meant to say that this looks pretty badass
It wouldn't make much sense. Opengl is for realtime 3d graphics. Here you just output the final rendered image, which is a bitmap.
Shader language can be used to write raytracers running entirely on the GPU, rendering the output to merely two textured triangles streched over the screen.
However as we are talking about Clojure, not shader languages, an alternative way would be offloading some of the weight lifting to OpenGL, for example by calculating visibility using the videocard's z-buffers or creating shadow maps by rendering the scene from the lights' viewpoint into shadow buffers and using the results in the raytracer.
It would be a really interesting project.
There was probably more code on each line than is typical Lisp style, though.
There are some techniques in the code for getting good performance (as good as Java at least) for mathematical routines - the JVM is the limiting factor rather than Clojure.
I hope it helps to show that Clojure is a practical language, since the concepts in it are going to be important in the near future. Also, if anyone is impressed by shiny spheres and wants to talk of entrepreneurial things, email's on the project page. :)