Additions and changes with Version 1.2: Now, whenever you create an object & don't enter anything for mirroring, index of refraction, reflect, or sreflect, these items are omitted rather than putting in default values. This is the better way to go. You can add bounding boxes from inside the program. (Gadgets) Statistics are output to the CLI. The statistics display the number of parallelograms, triangles, lamps, bounding boxes, etc. that are in your script. If this program is run from the Workbench, the output window is closed as the program exits, so you won't see the statistics. The program also checks to make sure that the number of BEGIN_BBOX and END_BBOX statements are the same, and warns you if they are not. I added the Workbench startup code so that I could add an icon and still free up all of the memory that the program uses. (This has been tested, so no fragmentation here.) A friend mentioned this, and since there's no reason not to do it, it's been done. Since the program supports WBench startup, I put together an icon, and included it. (Big deal, I know) The gadgets now have Release Verify and HighComp. Everyone seems to be doing it that way, so why not? ------------------------------------------------------------------------- QRT is a GREAT program, but needs some way around all of the typing and formatting necessary to produce (readable) script files for it. I decided rather than waste hours and hours typing in the scripts, that I could write a program that would take care of creating the script files as well as taking care of a few other details. This program basically just asks for each parameter as you define an object. It then creates the script file (fully-formatted) for you. A couple of extra things that it does is, remember various items that may be duplicated (like location of a vertex), and provide defaults for most items. I also provided a 'Ground' object, which is just a LARGE parallelogram that you only need to provide minimal info in defining. The ground is at (Y=0), which is logical. A script that had twenty objects in it could take 30 minutes to type in. (Even longer if you format if completely) I dare to say that with this program, the same twenty objects can be entered into a script in less than five. For those already familiar with QRT and those that should be (ie. everybody else): The location for an object is stored, so that the next object that is created can use the same location by just pressing return. (This is ideal for prisms and the like, since one vertex location can define three sides.) The variables entered for radius and the coefficients for the quadratic function are all remembered. I did this, since you may be creating duplicate spheres, ellipses, cylinders, oblate spheroids, etc; and don't want to type in that info every time. The color for the last object is remembered (ie. the diff coefficient), in case you are creating many similarly colored objects. The other values have some default associated with them, so that (if you don't want to use any special characteristics) you can just press return and accept the defaults. Remember that this program creates a text file, so you can always edit what you enter. List of characteristics: (Note: You MAY need to read the docs carefully to get much out of this.) Location is remembered from the last object entered. V1 & V2 default to "0.0" if you only press return. I did this since usually one or more of the (x,y,z) triples will be zero anyway. Ambience defaults to 0.2, since this is a good value for realistic shadowing. Diffusion (object color) is remembered from the last object, so that if you create 4 maroon spheres, you won't have to remember to type in (0.83, 0.0,0.54) for each of the spheres. Mirroring defaults to 0.0 in each of r,g,b; and if you press return for each of the rgb values, no mirror statement will be put in the script. Index of refraction defaults to being omitted. (Changed from previous versions, since no refraction statement should be included since QRT has defaults.) Dithering defaults to 3. (This was suggested as a good default by the author or QRT.) SReflect and Reflect are omitted if you don't enter anything. (This has been changed from previous versions.) Radius, Location, Color and Quad(A,B,C,D,XMax,XMin,YMax,YMin,ZMax,ZMin) default to the last entered value for that parameter. FILE_NAME is entered as QRTScript.RAW, but can be changed externally. NOTE: When you first load up the program, you will look at a blank screen. :) REAL NOTE: You can choose 'NEW' from the project menu, to enter the name of the script file that the program creates. This file is opened, and is continuously being written to (buffered, of course), so you should exit the program with the 'DONE' option. If NO FILE was opened when you select one of the object or world menu options, then the program will ask you for the name of the script file at that time. Be sure and LOOK at the scripts this program creates. The formatting is very nice. You don't actually have to look, since the files created with this program are complete and ready to use, unless you want to add bounding boxes or instances. There are some future enhancements to this program, so tell me if there's something in particular that you would like in the program. (Besides a graphical editor...that's a separate program.) :) Send any comments or blank disks or (heaven forbid) bug reports to: James A. Alexander 4901 E. Sunrise #1014 Tucson, AZ 85718 PLink: Modula*2 CIS: Yeah, right.