TITLE: The Bell Tower NAME: Roy Schulz COUNTRY: Germany EMAIL: royschulz@gmx.de WEBPAGE: http://www.crosswinds.net/~royschulz/ TOPIC: Inner Workings COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT. MPGFILE: belltowr.mpg ZIPFILE: belltowr.zip RENDERER USED: rendrib from BMRT 2.5.0.2 ... 2.5.0.8 for Linux glibc2 TOOLS USED: Moonlight Atelier, The GIMP, BMRT's composite and rgl, tifftopnm, ppmtoyuvsplit, mpeg CREATION TIME: I can't say exactly, but it took lots of my spare time. Longest rendering times: 3 days for the second shot (cam move from clockwork to bell) 2 hours for a single frame of the fourth shot (falling trigger) HARDWARE USED: AMD K6-2 400 Mhz, 64 MB RAM ANIMATION DESCRIPTION: The animaton shows a bell tower and its "inner workings". It starts just before four o'clock, introduces the tower and its inside. Then it shows the minute hand going to twelve, the striking mechanism working and the bell being struck. Finally you see the tower from the outside again with some birds being startled by the bell's sound. VIEWING RECOMMENDATIONS: For Linux mpeg_play and MpegTV work fine. With the latter you get the best quality. It's the only player that shows the waving leafs without flickering. Windows Media Player has the advantage of hardware accelerated fullscreen. DESCRIPTION OF HOW THIS ANIMATION WAS CREATED: The whole thing was coded in C except the bell, which I modeled in Moonlight Atelier. For each shot I wrote its own C program using the C binding of RenderMan that comes with BMRT (ri.h and libribout.a). I started with the trees of the first shot. They were made by a simple recursive algorithm (tree.inc in zip-file). Both trees are exactly the same, just viewed from different angles. The waving of the twigs was made using sine and cosine, so the movement is exactly circular. This is okay, because the shot is on screen only for four seconds. So you won't notice the regularity, unless you look for it. The tower was made with CSG. The birds are extremely simple. They consist of three elipsoids only. One for the body, two for the wings. They are motion blurred for smooth movement without strobing. I wrote shaders for the roofs shingles, the clouds and the clock face. You'll find these in the zip-file. The trees and birds use the standard "matte" shader and the bricks are done with the "brick" shader that comes with BMRT. The most work I did for the second shot. There is so much detail in it. I started with the architecture: the room, the roof, the dormers. CSG was used extensivly. Then I added the gallery and the stairs. I tried several lightings but none was satisfying. So I gave BMRT's radiosity a trial. After some playing with the parameters, the result was very good. To save rendering time, the radiosity calculation takes into account only architecture and gallery. Then I created the bell as NURBS in Moonlight Atelier. The gears are CSG again. Placing them correctly was the most time consuming job. The OpenGL viewer rgl from BMRT helped a lot, because it renders high resolution previews in no time. I wrote only a shader for the ropes. The clock face kept the shader from the first shot. Everything else was done with shaders that are provided with BMRT. The camera movement uses sine and cosine in several ways. For the smooth shadows I utilized the area light feature of BMRT. Unfortunately I couldn't afford longer rendering times due to the close deadline, so there is still a little noise. The third shot is simple. I copied the relevant parts from the first shot and let the hand move almost unnoticable. In the fourth shot you see the trigger falling exactly at four o'clock. This is visible only for a short moment. So I used depth of field to focus the viewers attention onto the trigger immediatly. Beyond that there is nothing special. I just copied the relevant parts from the second shot. Again I copied relevant stuff for the fifth shot, changed the camera, introduced the movement of the striking mechanism and motion blurred the escapement. For the sixth shot I used depth of field again for the same reason as in the fourth shot. The bell was improved over the second shot by applying the "supertexmap" shader from the "Advanced RenderMan" book with an appropriate bump map (included in zip) which I created with The GIMP. And once again I copied for the final shot. This time the first shot had to serve. I took away the two birds and added lots of them instead. I made them fly into arbitrary directions to make them look as if they were startled by the bell's sound. The animation was rendered with PixelSamples 2 2, except the depth of field shots, which have a PixelSamples 3 3 statement. I created title and end credits with The GIMP and utilized BMRT's composite for the fading. The C-sources are not included in the zip-file, because they are so large and not very readable. So I decided to provide only interesting parts like the tree function. If you have any questions beyond this description, feel free to ask me. There are no secrets.