RayLab 1.1 for Amiga (c)1995-1996 by Marcus Geelnard Introduction: ------------- RayLab was mostly developed on an Amiga 3000 with gcc 2.7.0 (some testing and coding was done on a mighty DEC Alpha, with gcc/cc). Gcc has proven to produce smaller and faster (in most cases) executables than SAS/C (which was used to compile RayLab 1.0). Thus the executables that come with the Amiga distribution of RayLab 1.1 were compiled with gcc 2.7.0. Requirements: ------------- RayLab needs AmigaOS 2.0 or better to work, partly because of the new display-routines that require kickstart v36 or higher to work, but also because gcc does not support AmigaOS 1.x (why should it?). I think that this will be no limitation to the majority of potential RayLab users (?). If you would need a compilation for older versions of the AmigaOS though, either compile RayLab on your own, keeping in mind that the display routines will not work, or contact me, and I'll do my best. Other requirements? I have run RayLab on an Amiga 500 with kickstart 37.175 and 512KB Chip + 512KB Slow memory, one disk-drive only (no hd). It worked! It was even over four times faster than a 386SX-20MHz running Windows! Please note that the stack needs to be set quite high for RayLab to work properly. I use a stack-size of 50000, which seems to work well. RayLab refuses to run if the stack is less than 40000. Contents: --------- The Amiga distribution of RayLab contains the following: · Two executables: raylab000 - for all Amigas (68000 or better) raylab881 - for Amigas with 68020+ and an FPU · The documentation for RayLab: raylab.doc - a plain ascii version of the documentation raylab.guide - a comprehensive amigaguide-formatted version, with some graphical figures (requires MultiView) amiga.doc - (this file) · Sample RayLab scenes and some texture-images to go along with them. · The sourcode for RayLab, including the Amiga specific code, a makefile for gcc and one for SAS/C 6.x, and the generic code/makefile for any platform. Installation: ------------- You may already have installed RayLab, if you are reading this. Otherwise, this is what you need to do: Extract all files from the RayLab lha-archive to a proper place on your harddisk (e.g. Work:Graphics/RayTracing/). If you have extracted the files to a temporary directory (e.g. RAM:), simply drag-and-drop the RayLab drawer icon to where you want it on your harddisk. After installing the files to a proper place, you should rename the executable that you intend to use (raylab000 or raylab881) to 'raylab'. Some special features of the guide documentation requires this, and it is much easier to type 'raylab ...' than 'raylab881 ...', for instance. Also, it would be wise to create some new directories for your own use, especially one for your own scenes and one for pictures. For example: ..../RayLab/MyScenes/ ..../RayLab/MyPics/ This way it will be easier to keep track of your RayLab files. Before you use RayLab, please finish reading this doc. Then proceed to reading the full documentation. You can either choose to read the plain ascii version (raylab.doc) or the guide (raylab.guide), but I strongly recommend the latter one. The guide is sequential, so you can use the browse buttons to browse forward and backward in the documentation, which can be good the first time you read the doc, as you should really read the whole documentation to get to know how RayLab works. If you want to have the users documentation printed on paper, you can get the postscript version of the documentation, which is available at RayLabs home-page on the www and on Aminet under gfx/3d (or hopefully from where you got this archive). Amiga specific: --------------- Currently you will have to use RayLab from shell. RayLab was intended to be as portable as possible, and I frequently run it on a unix system (which is about 10000% faster than my A3000-28MHz) so I have not yet made any working GUI. I have tried to make one, but it will not be ready until the next release, at the best. The Amiga version of RayLab can display a picture as it is being rendered. To make it do so, use the -d flag on the command line when you are calling RayLab, or add the following to a globals section in your scene description (read 'raylab.doc' for more information): display x ...where x is the display-mode. These are the currently supported display-modes for the Amiga: 0 - No display (default) 1 - Chose display-mode from a requester 2 - Greyscale, hires, interlaced (dithered) 3 - HAM6, lowres, non-interlaced (dithered) 4 - HAM6, lowres, interlaced (dithered) 5 - HAM8, lowres, non-interlaced (non-dithered) 6 - HAM8, lowres, interlaced (non-dithered) 7 - HAM8, hires, non-interlaced (non-dithered) 8 - HAM8, hires, interlaced (non-dithered) (RayLab 1.0 users: Note the changes in display numbers!) If you forget the display-numbers (most likely) use the -l flag to list all available display-modes (the -l flag should work on all platforms, not just the Amiga). You can either choose one of the 'fixed' display-modes (2-8) which will use the standard monitor, or you can use the display requester (mode 1), from which you can choose just about any display-mode (e.g NTSC:Superhires-HAM8). If the mode you choose is not HAM, the display will be grey-scale (2-256 colors are supported for grey-scale). In the future RayLab will hopefully support CyberGraphics true color screens as well (which is one reason for the display-requester to be there). Please note that the HAM6 display is far from perfect (I can not tell anything about the HAM8 display, haven't got it :-( ), but the general idea is that it should only serve as a rought preview anyway. With the display turned on, the rendering will be slightly slower, but probably not enough for you to notice (a 320x240 HAM6 screen takes 20 seconds on an Amiga 3000, as compared to some potential 10-60 minutes of computing). When the rendering is done, you are able to select 'Close' from a menu on the screen (by pressing the right mouse-button). This will close the display and exit RayLab. The menu will not appear until the picture is completed. If you did not open a display (or if RayLab was unable to open one), RayLab will just exit when it is done rendering. If you want to terminate RayLab during rendering, activate the shell-window from which you started RayLab (it is active by defult), and press CTRL-C. RayLab will then cleanup and exit gracefully. The output picture will be correct and viewable after a break if the output format is either iff or tga (this is a new feature introduced with RayLab 1.1), but you may not continue rendering the picture where you stopped rendering (that will be implemented in the future), so you will have to start it all over again. Compiling on your own: ---------------------- If you would like to compile RayLab for the Amiga on your own, simply copy the Amiga specific code and the makefile(s) that you want to use from the source/platform/amiga directory to the source directory. Makefiles are available for both gcc and for SAS/C 6.x. Please refer to the makefile(s) for more information about compiling RayLab for different machines. Now you are on your own! Please note that you may not spread a new compilation of RayLab without my permission! This is to avoid misunderstandings about who is responsible for supporting the users of your compilation. Read 'raylab.doc' for further info about legal issues...