M & T Publishing 411 Borel Ave. San Mateo, CA 94402 ISBN 1-55851-220-9 ================================================================ R E A D M E for "Programming In Three Dimensions : Ray Tracing And Animation" by Christopher D. Watkins for M&T Publishing, Inc. ================================================================ ABOUT THIS DISKETTE This diskette contains a number of files, listed below: README 52 03-10-92 10:17a <-- program and data files INSTALL BAT 2233 03-24-92 8:29p <-- batch file for installation PKUNZIP EXE 23528 03-15-90 1:10a <-- utility to decompress files BOOKMISC ZIP 130980 03-10-92 8:28a <-- program and data files SCNSCRPT ZIP 5780 03-10-92 8:31a <-- program and data files SCNFILES ZIP 3357 03-10-92 8:31a <-- program and data files 3DMODEL ZIP 104113 03-10-92 9:38a <-- program and data files RTSCRPT ZIP 79760 03-10-92 8:59a <-- program and data files RTFILES ZIP 71715 03-10-92 9:27a <-- program and data files RAYTRACE ZIP 127387 03-10-92 9:40a <-- program and data files ANIMATE ZIP 21856 03-10-92 9:41a <-- program and data files ANIFILES ZIP 538947 03-10-92 10:22a <-- program and data files Each file is a compressed archive file that contains the source code and data files for each of the various parts of the book "Programming in Three Dimensions: Ray Tracing and Animation", by Christopher Watkins (M&T Publishing, 1992). INSTALLATION The INSTALL.BAT batch file will transfer programs and data files from the diskette drive to your hard disk. The total disk space requirements are about 6 megabytes. If you do not have this space on your hard drive, you can conduct the installation process a a step at a time, by typing in the DOS commands yourself (explained further below). As written, the batch file (and the instructions here) make certain assumptions about the names of your floppy and hard drives. Your floppy drive is assumed to be 'A:', your hard drive 'C:'. If these do NOT correspond to the actual names on your system, you must modify the batch program to use names that correspond to your system configuration (for example, B: or D:). Before you use this diskette, it is a good idea to make a backup copy of it using the DISKCOPY utility in your DOS directory. As always, save the original diskette in a safe place in case your copies become lost or damaged. To run the installation program, type A:INSTALL at the prompt. MANUAL INSTALLATION To install the files one section at a time, here are the instructions. These instructions assume your hard drive is C: and your floppy drive is A: (if this is not the case, you should make the appropriate changes). 1. First, log onto the root directory of your hard drive by typing C: CD \ 2. Then make a directory on that drive, by typing MD ANIMATE 3. Then decompress the files from the floppy drive (for example, the two sets of animation files), by typing A:PKUNZIP A:ANIMATE C:\ANIMATE A:PKUNZIP A:ANIFILES C:\ANIMATE A GENERAL NOTE ABOUT ROBUSTNESS The source code files in this diskette are for illustration purposes only. As such, there is very little "bulletproofing" of the kind found in commercial programs. For example, many programs do not check if a particular data file is present before trying to open it. As a consequence you will get a runtime error if you mistype a filename. Also, in the case of abnormal program exit such as this, the VGA display state may be left in a different mode from the one at time of program start. You may need to reboot the machine to restore the original VGA mode (or you can use the MODE BW80 command in DOS to restore 80-column mode). If you encounter runtime errors, you can try to determine the cause by using powerful Turbo Debugger that is bundled with some Borland language products (and also available separately). COMPILING PROGRAMS Because of limited storage space, only the major programs in the book are present as executable files on this diskette. Rather, it is assumed you will compile the source code to create your own EXE files, using the Borland C++ (or Turbo C) language products from Borland International, Inc (1800 Green Hills Road, Scotts Valley, CA 95067-0001 Tel: 408-438-8400). The executables include in the diskette are: 3DMODEL.EXE DISP.EXE PROCESS.EXE RAYTRACE.EXE ANIMATE.EXE These are the major programs discussed in the book. Also on the diskette are many example data files that you can use to run the programs with. Consult the discussion in the book for how these programs work and what particular data files they require. To produce the other programs mentioned in the book, you will have to compile the source code. The source code has been tested with Borland C++ Version 3.0. If you do not have the Borland product, you will have to make some changes in the source code and in the way you compile. All the source code files in the diskette come with .DSK and .PRJ files for the Borland IDE (Interactive Development Environment). These control files are both vendor-specific and version-specific. The .PRJ files assume that your Borland compiler is installed in the C:\BORLANDC directory. If this is not the case, you will have to change the settings using the Option menu, with the Directory command. Alternatively, you can compile the programs using the DOS command-line interface. Consult your Borland manual for details. Remember that the files have to be compiled using the Large model. ADDITIONAL INSTRUCTIONS (1) Use the ScnScrpt directory for the creation of your .SCN files, then copy these .SCN files to the 3DModel directory for modeling. When the .ANI file is created by the 3DModel program, copy the .ANI file to the Animate directory and run the Animate program to display it. (2) Use the RtScrpt directory for the creation of your .RT files, then copy these .RT files to the Raytrace directory for ray tracing. When the .ANI file is created by the ray tracing program, copy the .ANI file to the Animate directory and run the Animate program to display it. ================================================================ APPENDIX: LIST OF FILES After the standard installation process has completed you should have six subdirectories off the \WATKINS directory on your hard drive, as follows. 1. C:WATKINS\BOOKMISC 2. C:WATKINS\SCNSCRPT 3. C:WATKINS\3DMODEL 4. C:WATKINS\RTSCRPT 5. C:WATKINS\RAYTRACE 6. C:WATKINS\ANIMATE Listed below are the contents of each of the directories. 1. Directory of C:WATKINS\BOOKMISC DEFS H 590 08-16-91 1:30a GLOBALS H 176 12-01-91 12:19a GRAPHB C 14445 12-01-91 12:20a GRAPHB H 1705 12-01-91 12:20a MATHB C 10772 11-04-91 8:34p MATHB H 2810 11-04-91 6:16p 3DAVR C 6568 12-11-91 1:02p 3DAVR DSK 12661 03-10-92 8:10a 3DAVR PRJ 5107 03-10-92 8:10a 3DIFS C 2506 12-11-91 1:07p 3DIFS DSK 12263 03-10-92 8:10a 3DIFS PRJ 5111 03-10-92 8:10a CELL1D C 3384 11-08-91 6:49p CELL1D DSK 17402 03-10-92 8:11a CELL1D PRJ 5150 03-10-92 8:11a CELL2D C 4507 11-08-91 7:31p CELL2D DSK 17532 03-10-92 8:12a CELL2D PRJ 5148 03-10-92 8:12a CLOUDS C 3702 12-11-91 8:30p CLOUDS DSK 17681 03-10-92 8:12a CLOUDS PRJ 5136 03-10-92 8:12a LIFECA C 5955 12-11-91 5:44p LIFECA DSK 17695 03-10-92 8:15a LIFECA PRJ 5148 03-10-92 8:13a LIFERULE C 2549 11-08-91 8:09p LIFERULE DSK 17548 03-10-92 8:14a LIFERULE PRJ 4780 03-10-92 8:13a LIFEWRLD C 2788 12-11-91 5:44p LIFEWRLD DSK 17842 03-10-92 8:14a LIFEWRLD PRJ 4772 03-10-92 8:14a ORB3D-3P BAK 5434 08-25-91 11:21p ORB3D-3P C 5456 03-10-92 8:16a ORB3D-3P DSK 12147 03-10-92 8:17a ORB3D-3P PRJ 5099 03-10-92 8:17a PLANT C 2207 11-08-91 8:37p PLANT DSK 17762 03-10-92 8:18a PLANT PRJ 5149 03-10-92 8:17a RULE1D C 1896 12-11-91 8:25p RULE1D DSK 16412 03-10-92 8:18a RULE1D PRJ 4986 03-10-92 8:18a RULE2D C 2497 11-08-91 7:00p RULE2D DSK 17437 03-10-92 8:19a RULE2D PRJ 4778 03-10-92 8:19a SIER1D C 2231 11-08-91 6:30p SIER1D DSK 17087 03-10-92 8:19a SIER1D PRJ 4842 03-10-92 8:19a SIER2D C 1684 11-08-91 7:17p SIER2D DSK 17439 03-10-92 8:19a SIER2D PRJ 4778 03-10-92 8:19a WORLD1D C 1651 11-08-91 6:38p WORLD1D DSK 17272 03-10-92 8:20a WORLD1D PRJ 4781 03-10-92 8:20a WORLD2D C 1859 12-11-91 6:07p WORLD2D DSK 17634 03-10-92 8:20a WORLD2D PRJ 4781 03-10-92 8:20a 55 File(s) 2. Directory of C:WATKINS\SCNSCRPT DEFS H 590 08-16-91 1:30a SCNSCR C 24960 03-10-92 8:30a 2 File(s) 3. Directory of C:WATKINS\3DMODEL SOLOFREV SCN 40068 09-24-91 8:38a SPHRPLAN SCN 13104 09-23-91 3:07p SPHRWALL SCN 29033 12-04-91 3:36p SPINTOR SCN 23777 09-23-91 8:54p DEFS H 590 08-16-91 1:30a GLOBALS H 176 12-01-91 12:19a GRAPHB C 14445 12-01-91 12:20a GRAPHB H 1705 12-01-91 12:20a MATHB C 10772 11-04-91 8:34p MATHB H 2810 11-04-91 6:16p 3DMODEL C 31966 12-04-91 3:35p 3DMODEL DSK 2876 03-10-92 9:38a 3DMODEL PRJ 5200 03-10-92 9:38a CONEPYRM C 3073 11-23-91 6:50p CONEPYRM DSK 17881 03-10-92 8:36a CONEPYRM PRJ 5195 03-10-92 8:35a CUBE DAT 102 07-22-91 10:55p CYLINDER C 2836 11-27-91 2:05a CYLINDER DSK 17881 03-10-92 8:36a CYLINDER PRJ 5193 03-10-92 8:36a GRID C 2638 11-27-91 2:28a GRID DSK 15962 03-10-92 8:36a GRID PRJ 5191 03-10-92 8:36a MAKEOBJS C 2107 11-23-91 5:52p MAKEOBJS DSK 17745 03-10-92 8:37a MAKEOBJS PRJ 5195 03-10-92 8:37a MODELSUP H 3351 09-06-91 5:22a PLANE DAT 38 07-22-91 10:49p PROCESS H 5107 09-06-91 5:55a SHPMK H 2899 09-06-91 6:50a SOLOFREV C 4483 09-24-91 7:32p SOLOFREV DSK 15958 03-10-92 8:38a SOLOFREV PRJ 5195 03-10-92 8:38a SPHERE C 2405 09-05-91 11:51a SPHERE DSK 14606 03-10-92 8:39a SPHERE PRJ 5193 03-10-92 8:39a TOROID C 2935 11-04-91 8:49p TOROID DSK 17582 03-10-92 8:39a TOROID PRJ 5193 03-10-92 8:39a 3DMODEL EXE 51244 03-10-92 9:38a 40 File(s) 4. Directory of C:WATKINS\RTSCRPT DEFS H 590 08-16-91 1:30a GLOBALS H 176 12-01-91 12:19a GRAPHB C 14445 12-01-91 12:20a GRAPHB H 1705 12-01-91 12:20a MATHB C 10772 11-04-91 8:34p MATHB H 2810 11-04-91 6:16p BOUNCE C 8608 03-10-92 8:54a BOUNCE2 C 6986 12-10-91 3:42p CANNON C 15711 12-10-91 1:37p DESERT C 7612 12-10-91 1:44p DESK C 15108 12-10-91 1:47p DIE&CARD C 17568 12-10-91 1:58p DIE&CARD DSK 18431 03-10-92 8:57a DIE&CARD PRJ 5075 03-10-92 8:57a DNA C 10289 12-10-91 6:41p ENGINE C 16446 12-10-91 2:59p FLYOVER C 5166 09-09-91 2:55a M&T C 8752 12-10-91 2:19p MOUNT C 14068 12-10-91 6:40p MOUNT DSK 18393 03-10-92 8:57a MOUNT PRJ 5149 03-10-92 8:57a NEWTCRAD C 14435 12-10-91 4:07p ORBIT C 11006 09-09-91 3:09a PIANO C 19198 12-10-91 4:28p POOLTABL C 19238 12-10-91 2:30p ROBOT C 8917 12-10-91 3:53p SPIN2 C 8815 09-09-91 3:02a TETRA C 14711 12-10-91 6:16p TETRA DSK 18465 03-10-92 8:57a TETRA PRJ 5147 03-10-92 8:57a TETSPHR2 C 9914 03-10-92 8:51a TETSPHR2 DSK 18443 03-10-92 8:57a TETSPHR2 PRJ 5136 03-10-92 8:51a WAVES C 5060 08-27-91 6:18a WAVYORB C 7052 12-10-91 2:49p 35 File(s) 5. Directory of C:WATKINS\RAYTRACE BOUNCE RT 72463 03-10-92 8:54a BOUNCE2 RT 55723 03-10-92 8:54a CANNON RT 6080 03-10-92 8:54a DESERT RT 2751 03-10-92 8:55a DESK RT 6054 03-10-92 8:55a DIE&CARD RT 18014 03-10-92 8:57a DNA RT 193463 03-10-92 8:55a ENGINE RT 155000 03-10-92 8:55a FLYOVER RT 37418 03-10-92 8:55a M&T RT 12698 03-10-92 8:55a MOUNT RT 20517 03-10-92 8:57a NEWTCRAD RT 127816 03-10-92 8:56a ORBIT RT 70929 03-10-92 8:56a PIANO RT 15207 03-10-92 8:56a POOLTABL RT 8158 03-10-92 8:56a ROBOT RT 108062 03-10-92 8:56a SPIN2 RT 71254 03-10-92 8:57a TETRA RT 39857 03-10-92 8:57a TETSPHR2 RT 24894 03-10-92 8:57a WAVES RT 35488 03-10-92 8:57a WAVYORB RT 2485 03-10-92 8:57a DEFS H 590 08-16-91 1:30a GLOBALS H 176 12-01-91 12:19a GRAPHB C 14445 12-01-91 12:20a GRAPHB H 1705 12-01-91 12:20a MATHB C 10772 11-04-91 8:34p MATHB H 2810 11-04-91 6:16p DISP C 5095 12-09-91 9:41a DISP DSK 17767 03-10-92 9:39a DISP PRJ 5192 03-10-92 9:39a PROCESS C 6150 12-09-91 9:33a PROCESS DSK 17817 03-10-92 9:39a PROCESS PRJ 5137 03-10-92 9:39a RAYTRACE C 82924 12-10-91 6:01p RAYTRACE DSK 13372 03-10-92 9:39a RAYTRACE PRJ 5237 03-10-92 9:39a DISP EXE 33794 03-10-92 9:39a PROCESS EXE 34114 03-10-92 9:39a RAYTRACE EXE 124138 03-10-92 9:39a 39 File(s) 6. Directory of C:WATKINS\ANIMATE DEFS H 590 08-16-91 1:30a ANIMATE C 11333 03-10-92 9:33a ANIMATE EXE 42499 03-10-92 9:35a SPHRPLAN ANI 480769 09-23-91 3:37p BOUNCE ANI 480769 09-13-91 11:22a DNA ANI 480769 08-17-91 5:28p WAVES ANI 480769 08-17-91 2:16p 7 File(s)