Beware! The input boxes that appear for some of the menus have no cancel button. Sorry!


General advice

  • With a bit of practice you will see what size of patch image to set for every pass. For the default scene, try this sequence for a quick but good render: two passes with 10, once pass with 30. Generally you want to start with a low number and then increase it.
  • Use subsampling only once you've finished radiosity passes. It doesn't affect radiosity at all, and only slows down the renders between radiosity passes. Also you can use a smaller window while you're doing radiosity.

Scene file format

  • Can be found here: scene-format.txt.
  • Is also included with the downloadable .zip file.

Settings menu

  • Do texturing - whether you want the raytracer to take textures into account. This affects all raytracing that needs to be done, including that which takes place when radiosity renders patch images.
  • Do lightmap - whether lightmaps affect the color returned by the raytracer. This is very similar to textures - it's even symmetric with them in the sense that ray color equals texture color multiplied by lightmap color.
  • Ambient (outside) color - lets you set the color of the Outside. The color that you select is scaled to lie in the range 0..2 in each component - really I should allow you to assign any floating point value to each component, but... user interface takes time...
  • Bilinear filtering on lightmap - what it says, really. In case you don't know what it is, it's just a linear interpolation of light value between two light map pixels. See the end of Discussion for a better idea.
  • Subsampling - a simple way to anti-alias the scene. Traces NxN rays through each pixel and averages the result. Takes NxN times longer to render the scene. Affects the final render only
  • Show patch view while radiosity - lets you see what each patch sees. The thing goes as fast as it can, and there's no way to pause it. Sorry. But at least you can get some idea...
  • Set lighting params - lets you select the size of light patch and initial wall brightness. Once you select this menu, there is no way to cancel the process of resetting your light maps, so if you've just spent 2 hours on radiosity... bad luck. Low initial wall brightness helps to reduce the number of passes you need, but now I realise that a really low quality pass does a better job at that.

Render menu

  • Re-render - renders the scene with the lightmaps as they are and with the current settings. Use this to render with new settings, to change image size or to change image brightness.
  • Radiosity pass - lets you do a radiosity pass. It will prompt you for the size of images rendered for each light patch. You can think of this as a 'quality' setting. Anything more than 100 is going to take ages and is not really necessary. Anything less than 10 works only for absolutely huge lightmap pixels.

Export menu

  • Image as .bmp - lets you save your piece of art to a file as a .bmp file. Feel free to use them as you wish!
  • Image as floating-point data - saves the image with all the precision there is. The format is trivial - a header ("RAdiosity floatmap"), two 32-bit integers for width and height, and then an array of Delphi Single values for all pixels. Pixels are stored by columns, and in each pixel the colors are ordered RGB. Try to write a program which displays such an image on the screen and make sure you tell me about it!
  • Lightmaps... - I wish I had this done... then all those hours spent on fine radiosity could be saved on hard disk...