TITLE: By the Book NAME: Aaron Gage COUNTRY: USA EMAIL: agage@mines.edu WEBPAGE: http://www.mines.edu/students/a/agage TOPIC: Transportation COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT. MPGFILE: amgtrans.mpg ZIPFILE: amgtrans.zip RENDERER USED: POVray 3.0 for Linux TOOLS USED: Terrain Maker, rain simulator program written for this animation CREATION TIME: Design: four weeks Rendering: about 900 hours (29240 bogomip hours) HARDWARE USED: i486DX2/66 running Linux 2.0.28 (185 frames) 3 Pentium 166 machines running Linux 2.0.29 (remaining frames) All machines had 32MB RAM; Pentium CPU time granted by CSM Math Dept. ANIMATION DESCRIPTION: One of the cheapest forms of transportation does not involve any physical movement: through a book you can see the marvels of this world or another. From Mithil Stonedown to the Elemesnedene of the Elohim, Lothlorien to the depths of Khazad-Dum, and Devon Ride to the delta at Tear, great distances can be covered only by flipping a few pages. DESCRIPTION OF HOW THIS IMAGE WAS CREATED: As this was only my second animation, I still had a few things to test with this submission. First, I wanted to see how well 1000 frames would fit under the 3MB limit (and with my time and computer resources). I wanted to try to animate a particle system again, learn how to do smooth motion over time, and also to use some POVray features that I had not before (like atmosphere). Keeping this on topic would have been rather hard, but the wording of the topic description "any sort of device or method for transporting people or things from one place to another" was general enough for me to get away with this. The entire animation was described within a single .pov file, using a single clock (in case I suddenly found that the animation was too large and needed to be done in less frames). They should be included in the accompanying .zip file, but here are the basics. Most of my camera and object movements were done as trigonometric functions so that starts and stops would be smooth. Most of the transitions (like when the camera passes into the book or out of the cloud bank) were done by using the clock variable with the transparency channel, so the scene would become totally visible right as the camera reached it. I really like this effect, and will probably use it heavily in the future. The book was an object I had used for my first submission to the IRTC (which I now see a number of flaws with :) with some modifications. All of the lettering was done for this animation, which took some work, since you may notice that all of the lines of text inside the book are the same number of characters long. The table at the end was also used before, with some wall panels, as appeared in the Chromatic Scale image. There is a minor defect in the halos that create the cloud scene about a third of the way through. I tried to correct this by incrementing the max_trace_level to 15, but even that did not cure it (though it fixed a number of others). The terrain scene was done with Terrain Maker 1.0. I would have liked being able to move the camera around during the animation of this part, but I did not have the time to rigorously piece together the entire landscape so that this would have worked. An atmosphere is used to dim the mountains in back, which also makes the lightning effects much nicer. The rain was animated by a program I wrote for that purpose. I did a weak implementation of a particle system as I understand them: basically, I defined a source as a square region under which particles would be generated and allowed to fall. The rate of new drops being added to the system increased throughout the animation, until there were more than 16000 individual drops being animated per frame. I had originally envisioned having more than 100K total drops in the animation, but 96MB of RAM + swap does not go that far. I suppose that 20 solid seconds of rain might be a bit much, but I am not too worried about that. The bolts of lightning that actually reach the ground were done as blobs with random paths within a narrow cylinder. The flashes in the sky are just very short-lived point light sources. The mpeg version of the animation was created with mpeg_encode for Linux. I would like to find an encoder that will let me add sound as well, but for now this is not a concern. A majority of the animation frames were rendered on machines that belong to the Colorado School of Mines Mathematical and Computer Sciences math lab over spring break (when they are otherwise unused). These machines were not dramatically faster than my PC, but three of them together make a difference. It is fortunate that they were dual boot to Linux, because my rain simulator must be synchronized to POVray through user signals executed as Pre_Frame_Commands, and doing this under another operating system would have been ugly. Contrary to my usual paranoia, I plan to have the attached .zip file include full source to this animation. If anyone really wants to steal my work, they'll have to commit about a thousand CPU hours to recreating the frames that I am burning onto CD. Incidentally, I gave a measurement of creation time in terms of bogomip hours. For those who are wondering, I will explain. The Linux kernel calculates the speed of the system processor when it boots for the sake of synchronizing the devices. Bogomips is a 'bogus' MIPS, meaning that it is not a very scientific way to describe how fast a system is, but it does at least give a basis for comparison. Since I ran this animation on three different configurations of computers, with bogomips ranging from 32 to 199 on those systems, it is difficult to say just how much computer time was needed. To answer this problem, I calculated all of the hours each machine spent rendering, and multiplied that by the bogomips rating for the CPU. This gives us a new unit: the bogomip hour. What this means is that my i486DX2/66, which is rated at 32 bogomips, would have taken close to 900 hours to finish this project. The actual amount of time is approximately 28000 BMh / 32 BM = 875 hours. Now, if I had a new Pentium Pro 300Mhz to play with, running at nearly 200 bogomips, the entire project would have taken 28000 BMh / 200 BM = 140 hours (about six days). All I wanted to do with the bogomip hour unit was to give a common basis for figuring out what kind of time it would have taken to run this animation again on different hardware. To say it took 1000 hours is pretty meaningless otherwise. Again, the bogomip hour is not a very scientific idea, but it gives an idea of magnitude, which is all I wanted. For those running Linux, the bogomips rating of your machine will flash by when you boot, or you can type cat /proc/cpuinfo to see it. For other systems, I believe that programs can calculate it, but I'm not sure where you'd find one. VIEWING RECOMMENDATIONS: MPEG-1 format, 320x240 resolution, 30fps, 24-bit color (True color) If viewed with less than 16M colors, banding will occur. Works with mpeg_play and the Win95 movie player (ActiveMovie?) Recommended accompaniment is "Storms in Africa" (Enya: "Watermark")