GRT Raytracer 0.1
-----------------

 GRT is a Common Lisp raytracing system, and as an acronym it stands
 for Grt RayTracer - a yet another recursive acronym in service of
 free software. 

 To use GRT it you need to know/learn Common Lisp, but rest assured
 that it is by far easier than you think. This document assumes at
 least cursory knowledge of some lisp dialect. See 'LISP' for information
 on learning Common Lisp.


Running GRT

 There's not much to it: just load grt.lisp into a running lisp, and
 you are set.

 Unless you are truly brave, you will probably want to set up 
 your emacs so that you can you can use ILISP to interact with GRT.

 For Emacs and ILISP see respectively:

     http://www.gnu.org/software/emacs/emacs.html

     http://sourceforge.net/projects/ilisp/


The API

 For details on the API study 'examples.lisp' and the sources.

 Some guidelines, however. Scenes are constructed in a mostly
 functional manner, but for you convenience it is recommended that
 you call NEW-SCENE to initialize GRT::*SCENE*, and use SCENE to
 to add elements (objects and lights) to the same. GRT::*SCENE*
 is the default scene that will be rendered by GRT:RENDER, but
 you can pass an explicit argument as well.


Known Issues
 
 * API is not stable yet: it will change, so don't get too attached to
   it. Input is welcome, however.

 * Dotted surfaces can occur due to floating point inaccuracies,
   especially if the surface lies exactly at a discontinuity in a
   pattern: this is why the checkered planes and the gradient box
   in examples is slightly shifted.

 * Giving the camera an invalid sky vector will lead to +Z+ being used
   as the sky vector. This is really only a problem if you insist on
   having +Z+ as sky, and then point the camera along Z-axis.


More Information

 GRT homepage:

    http://www.nongnu.org/grt

 grt-talk mailing-list:

    http://mail.nongnu.org/mailman/listinfo/grt-talk

