ExRay Home
 

 

ExRay

A Ray Tracer with Modelling Support


Table of Contents

  1. What is ExRay
  2. Copyright
  3. System Requirements
  4. Installation and Use
  5. Command Line Arguments

What is ExRay

Well first of all, let me thank you for been interested in this program. ExRay is a ray tracing program. One famous ray tracing program is Povray, the basic idea is that you can describe a scene in terms of geometric shapes (eg spheres and planes) and then ExRay draws the scene and saves it into a graphics image file.

ExRay grew out of a competition: the Third Annual ICFP Programming Contest 2000. The task specification of the competition defines the entire requirements of ExRay. You can find out about what ExRay is about and the theory behind ray tracing by visiting the competition web site. If too much time has past and the people at Cornell decides to take the sitedown, you can still get a copy of the task specification (in PDF and PostScript format) from the ExRay home page. It is recommended that you at least be familiar with the GML scripting language before using ExRay. To gain an idea of GML, you can follow the links in the competition task specification. For most jobs simply reading the specification paper would be good enough.

Currently version 0.1 of ExRay only implements Tier 1 features as defined in the specification paper. So only 'sphere' and 'plane' geometric objects are available and you can only 'union' objects together. This is already enough to set up quite amazing scenes — checkout the ExRay home page. I do intend to complete all 3 tiers of functionality, but it will most probably take a few years (as you expect I am busy with other things). I may even add neat features that's not in the specification just to make it ExRay a better ray tracer to use. So watch out for future releases of ExRay.

Copyright

ExRay is Copyright (c) 2001 Lawrence Yao

Lawrence is the current maintainer of the software. Authors of the program includes: John Lai, Harvey Tuch, Simon Bowden, Stephen Farrar, Jason Au, and a few others (email me if I missed you). They have written the software during the competition days, Lawrence have taken over the software since to develop it further; the result being what you see now.

ExRay is free software, it may be copied and distributed under the GNU General Public License. Please see the file COPYING bundled with this package for more details. ExRay comes with ABSOLUTELY NO WARRANTY, USE AT YOUR OWN RISK, the authors and maintainer disclaims any responsibility for any kind of damages arising from the use of this program.

System Requirements

You will need to have at least the Java Runtime Environment (JRE) version 1.2.2 installed on your system to run ExRay. JRE 1.3.0 or later is recommended as we have discovered some problems with the Java VM in Java 1.2. ExRay does not have a Graphical User Interface, so you will need to have a way of typing command lines in your operating system to pass information to ExRay.

Your operating system also needs to support input redirection as ExRay reads from standard input and writes to file. ExRay is not very fast: firstly because it is written in Java, secondly because rendering is not optimised. As a rule of thumb you can probably run it on a 486 computer if you have enough memory.

Installation and Use

Simply unzip the package you have downloaded, all files are stored inside the exray-0.1.0 directory. Within the directory, the ExRay.jar file can be used directly to render images if you have Java installed already and set up properly. Use the command:

java -jar ExRay.jar < scene.gml

to render a image from the GML script file scene.gml (file name is only an example, it can be anything you want). Any outputs are written away to PPM image files specified in the script. Note that ExRay reads from standard input and outputs to files of PPM image format, that's why you need to use redirection on the scene file. The XV viewer for most Unix systems can understand PPM format image, for Windows you can download Irfan View from http://www.irfanview.com to view the files.

You may want to download the sample scene files from the ICFP website or the ExRay home page and render them yourself for practice. Currently ExRay does not take any command line arguments of any form. If you have some suggestions for command line arguments, you can email the maintainer with your suggestions.

Command Line Arguments

The current version 0.1.0 does not support any command line arguments.

 

 
 
© Copyright 2001 Lawrence Yao
fib.gml
sphere.gml