Radiator 2.1.1
This directory contains source code for the radiosity renderer "radiator". This renderer implements the matrix, progressive, and wavelet radiosity with clustering methods. It also comes with a visualisation front-end useful for previewing scenes or teaching.
Requirements
The GCL code requires OpenGL, and as configured also uses libtiff and libjpeg. See below for how to disable the latter requirements. The visualisation frontend requires that xforms (http://world.std.com/~xforms/) be installed.
Quick Install
GNU make required!
gzcat radiator.tar.gz | tar xf -
cd radiator
source setup.[sh|csh] # depending on your shell make # get list of systems make linux_RH # select redhat linux make rad-all # make everything radiator # get a list of render options radvis # run the frontend
License
Short version: this code is coverted by a BSD/Apache-style license. You're free to do what you want with the code, as long as you maintain copyright notices, the license file, and any other attributions. If there's anything about this that prevents you from using the code, contact me, and maybe we can work something out.
While it's not required, you're encouraged to send any bug fix or new feature patches to me. I would like to actively maintain this as an open-source project. If anyone else becomes an major contributor, I'll start to look into some kind of team effort thing with more open CVS access, but it's early days yet.
Long version: see the LICENSE file.
Setting up the build system
First you need to set up some environment variables and add the script and bin directories to your path. If you're running a csh variant, type "source setup.csh" to do this, and for a sh variant, "source setup.sh" should do the trick.
Next, type "make" to get a list of possible systems to build for, and then "make <system>" to select a system.
Finally, type "make" to get a list of possible build targets.
NOTE: the makefiles assume GNU make, so you may have to type "gmake" instead, or even install GNU make if it's not already on your system. I used to try to have the makefiles work with vendor makes, but it just got too complicated.
If you have problems compiling, you can make any needed changes to compiler flags and so on by editing makefiles/config.mf. You may want to disable some of the image format libraries, or change "SHARED" to off if you don't have libtool installed. For some distributions of Mesa, you'll have to change the -lGL to -lMesaGL. If you change any of the _EXT configuration flags, you must "make config" to update the GCL header files.
Building
The build targets include:
gcl-libs graphics library stuff, comprised of:
cl.lib basic class library
vl.lib vector library
gcl.lib graphics library
gcl-utils scene viewer, image viewer, other utilities
radiator batch radiosity renderer -- requires gcl-libs
radvis radiosity visualisation -- requires gcl-libs
The makefile target "rad-all" builds the following executables by default:
slview scene viewer
slrender offscreen scene renderer (requires Mesa)
slconv scene file format converter
imgview image viewer
radiator batch radiosity renderer
radvis radiosity visualisation
Running any of these programs without arguments will give a list of expected arguments and options. (For radvis you must use "radvis -h", otherwise it just runs with a default scene.)
Documentation
Some html documentation is in the doc/ subdirectory, and also at:
http://www.cs.cmu.edu/~ajw/doc
including some browseable source documentation.
Updates will be released from:
http://www.cs.cmu.edu/~ajw/software
The radvis documentation is currently slightly out of sync with the current interface; fixing this is on the to-do list.
Author
Please send any problems, questions, bugs, or suggested improvements to Andrew Willmott <ajw+rad@cs.cmu.edu>
