20 jan, 1999, FAQ (frequently asked questions)
 for RayChase 2.05
-----------------------------------------------------------------------------

1a)
Q: What are the supported plaforms ?

A: - DOS (32 bit extended)
   - Windows NT 
   - Windows 95
/98
   - Linux (libc5 and glibc)
   - FreeBSD
   - OS/2 (32 bit)
   - PowerPC

1b) 
Q: I want a version for my XXXX platform, could you send me one ?

B: You send me the hardware and I'll happily compile it for you.
   (but seriously, If can provide me with a shell account for one day
   and have a proper C compiler installed I'll happily compile a version
   just for you)

1c) 

Q: I want the source code !

A: I will be seperating the raychase code from my library code (wich I use for
   comercial projects and, hence, can't distribute) so the raychase source code
   will be released sometime. Don't hassle me for it though, when I have some
   time I'll put it online.

1d) 
Q: Does it support intel's MMX scheme ?

A: The MetroWerks win32 version does. Other platforms don't - but let's face it MMX is a silly
   intel scheme anyway and for a raytracer to use MMX is actually a bad idea if you think
   about it (hint fpu ...)
   
1e) 
Q: What kind of CPU should I have to run RayChase ?

A: except for the PPC version (for obvious reasons) you're gonna need
   a pentium, pentium2, or pentium-pro although all versions will also
   run on a standard 386 (except for the Win9x metrowerks version and
   linux egcs version)

2)
Q: What's the purpose of RayChase ?

A: Create pretty & wacky pictures - arty farty stuff - eye candy - you name it - sorta ...

3)
Q: How come [on windows 95/98] when I minimize or change focus ; RayChase hardly does
   anything. It takes ages to finish a trace.

A: Windows multi tasking (read: multi lagging) sucks; get a real OS - get unix.

4)
Q: Does the above problem [see question 2] relate to Windows NT too ?

A: No, NT handles tasks (and threads) in a better way (but not that much better)

5) 
Q: Why does raychase create a number *.logfile files ?

A: Raychase is very verbose (especially the debug version) about a number 
   of things, it starts out assuming there's no console to write to so you 
   will always have a number of *.logfile's after a RayChase session. You can change 
   the output in the .ini file in the section application.message.handling to
   either
 ;

   con     (output to console)
   con+key (output to console & wait for keypress)
   log     (write to logfile)
   nil     (don't do anything with messages)
   aux     (auxillary, platform dependant)  

   Wich will then output all messages to the appropriate output.

   Note; the aux option will use a specific platform specific output,
   e.g. for example on win95/NT it will prompt you with a message box
   with a yes/no option, on Linux & FreeBSD it will use the syslog
   deamon.

6) 
Q: [on Linux/FreeBSD] How do I stop it ?


A: With the windowed version, Move you mouse over to the RayChase *terminal* window 
   (not the
 image window) and get focus on that, *then* press the escape key.
   With the desktop version, hit ctrl-c in the terminal window.

7)
Q: What's this lrchache.lst file it keeps asking about overwriting ?

A: It's the streamio chache list, RayChase will try to cache various
   files for speedier access. (hence you do not need to load any additional
   disk caching programs).

8) 
Q: RayChase just wiped out my harddisk, got my plastic rodent really confused
   and had my moniter explode. I'd like to sue you, can I ? (oh pleeeeeaze)

A: Nope, read the legal docs, I can't be held responsible for anything ... ha!

9) 
Q: I've noticed that the procedural textures are using the same pigment
   all the time, can I change this ?

A: Yes, either change the $default.pigment$ setting (in .ini file) to
   another pigment file or change it to a file wich doesn't exist. In
   the latter case RayChase will fallback on the (random) pigment of
   the called procedural texture.

   Example ;

   $default.pigment$ = null                        (no pigment)
   $default.pigment$ = $path.pigments$/cedar.pgm   (cedar wood pigment)

10) 
Q: I want to have RayChase run overnight and save the pictures to disk
   so I can look at them the next day, how should I do that ?

A: Type something like ;

   raychase -x640 -y480 -d -sf:/my_pictures/temp%04d.tga

or (wich is the same, just using longer argument names)

   raychase -xres 1024 -yres 768 -no_display -save /tmp/raychase.%d.tga
  
11) 
Q: When I'm running RayChase overnight it asks weather to overwrite
   certain files, how can I switch this of so that I don't have to 
   tell it to 'yes, overwrite it' and have run non-interactivly ?

A: There are 2 ways, the first is the safest ; change all the 
   application.message.handling settings (in the .ini) file to
   'log' this will write out logfiles and will do the answering
   of any questions automatically. You can also change the 
   'question.timeout' setting to, say, 10 seconds instead of -1
   wich will mean RayChase will wait for 10 seconds for a reply and
   will assume default behaviour if no reply was givin within the
   time limit.

12) 
Q: I want to render in 32bpp instead of 24bpp, how do I do that ?

A: Use the -A or (-alpha) argument on the commandline.

13)
Q: There seem to a number of versions [platforms] for RayChase, wich is
   the fastest ?

A: The linux version is pretty decent, the djgpp [dos] is fast and
   the metrowerks [win32 p6-2 mmx] is also pretty decent, but on average
   all versions are pretty decent speed wise and there aren't too big
   differences in execution speed (maybe a 4% max difference)

14)
Q: I *really* enjoy RayChase, It made me like a happy person type thing.
   I like to donate a fair amount of $ 'fill in big bucks' cash to you 
   is that okay ?

A: Nope, I don't want any money, send it to your favourite charity organisation
   instead (and if you don't know any, Amnesty International is a good one)

15)
Q: Sometimes RayChase just produces a black screen - whats up ?

A: RayChase is a random raytracer, so it might decide to put one large
   sphere or plane just in front of the camera wich would hide all other stuff,
   it might also give all lights a fairly low luminance factor wich would basically
   come down to turning of all the lights in the scene. 

16) 
Q: How should I run RayChase [the desktop version] on Linux/FreeBSD ?
 
A: first make sure you have a valid DISPLAY setting, so you can run it from
   any console. In bash you could do something like :
    
   export DISPLAY=localhost:0
    
   (other shells will probably need a different syntax to accomplish the
    same, possibly 'set DISPLAY=localhost:0' or 'setenv DISPLAY=localhost:0')
    
   Now you can run it from a terminal. You can run it on a 8bpp display but    
   I suggest you have X set to at least 16bpp (startx -- -bpp 16) If you want 
   to render a full desktop (e.g. the whole size of the desktop) run RayChase 
   with the -e option. It might take a couple of minutes to render for this
   resolution but you'll get a picture every couple of minutes.


17)
Q: I would like to use RayChase to create neat pictures and then automagically
   use them in my web pages, how should I do this ?
   
A: Well there are a couple of ways, you could either run RayChase as a cgi executable,
   but this would mean you need approval from the webmaster to run a executable wich
   he/she doesn't know much about (security wise) so this is probably not a good idea,
   if you are running your pages from your own server it's probably the easiest to
   run RayChase in the background and have it write out the images to the html directory
   you could write a little script something like ;
   
   
   | # !bin/sh
   | 
   | # this is a shell script wich will create one image and dump it to the harddisk
   | # then cjpeg will convert it to a jpeggie wich can be displayed in your web page. 
   |  
   | raychase -xres 320 -yres 200 -max_image 1 -no_display -no_progress -save /tmp/cool.picture.ppm 
   | cjpeg /tmp/cool.picture.ppm > /home/http/images/backdrop.jpeg
   
   and then include backdrop in your html document, you could then run the script every 10
   minutes from a crontab.
   
   Another option is to use a program like netcat or an ftp client to periodically upload
   the freshly created images to your html directory.
   
   Also note that you can use the -exec (or -E) command line option, this will keep raychase running
   and will execute the specified command after each rendered image. The command will be executed 
   with an argument wich will point to a bitmap file with the rendered image.  The bitmap file will
   be the same file used as with saving the image (ergo, you can use your own template)
   
   here's an example, first we create a script

   | # !bin/sh
   | 
   | # my_script.sh
   |
   | # this is a shell script wich will convert the image given as the first argument to
   | # a jpeg and will copy it to my local ftp directory.
   |  
   | cjpeg $1 > /home/http/images/backdrop.jpeg
   
   now we run raychase and have it call this script after each rendering, since we only use the
   image on our web page we don't want it to be displayed and switch displaying off (-no_display)
   
   raychase -xres 128 -yres 128 -no_display -save /tmp/image.ppm -exec my_script.sh
    
   now after each rendered image raychase will execute :
   
   my_script.sh /tmp/image.ppm
   
   and my_script.sh will in its turn convert it to a jpeg and put it in the correct place.
   if you want to do it without a script you could also put the whole thing in one command
   line :
   
   raychase -xres 128 -yres 128 -no_display -save /tmp/image.ppm -exec "cjpeg $1 > /home/http/images/backdrop.jpeg"

18) 
Q: Why are there 2 versions of raychase ?

A: there is a debug version and a standard [fast] version, the debug version is very paranoid and will check
   pretty much everything going on inside the raychase main code, it will check for memory problems, stream
   problems, etc. This is very helpfull for discovering bugs, it is also a nice way to see what is going
   on while the rendering is taking place because it is very verbose.
   
   
   
   
flux@iae.nl

http://www.geocities.com/SiliconValley/7845/
