TITLE: Post Detention NAME: Michale J. Hammel COUNTRY: USA EMAIL: mjhammel@csn.net WEBPAGE: http://www.csn.net/~mjhammel TOPIC: school COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT. JPGFILE: mjhpd.jpg ZIPFILE: mjhpd.zip RENDERER USED: BMRT TOOLS USED: Linux, AC3D, BMRT, Gimp 0.99.8, wc2pov, xcalc, xv RENDER TIME: about 4 hours HARDWARE USED: Cyrix P166 (133Mhz) based Linux system, 64M memory IMAGE DESCRIPTION: Pretty simplistic, really. Its a school room, just after detention has let out. You can tell that detention has let out by the writing on the chalk board and the time displayed by the clock on the wall. The sun is starting to get low outside, which causes the types of shadows you can see on the bookshelf. All the students who were in detention are required to read the latest New York Times bestseller titled "Post Detention". Its written by some author who is rumored to do 3D graphics on the side. You can see the book on the desk in the lower right corner of the image. DESCRIPTION OF HOW THIS IMAGE WAS CREATED: I used this image to learn to use RenderMan and BMRT. I find I like these tools a bit better than POV-Ray, mostly because I can write C code to create models if I want (although I didn't for this particular scene) and the shader language allows a bit more control than POV's. I still have much to learn to make real use of these features, however. I started with some canned models from 3DCafe: a chair, a couple of bookcases, and some books. I had to convert the chair from 3DS to DXF so I could then import it into AC3D. Once I had it in the modeler, I broke the chair into two pieces - the arm and the rest of the chair. I did this so I could texture them seperately (note that in the 3DS format these pieces may have already been seperate, but after the conversion to DXF they were a single entity). I also sized the chair to be a common unit size and centered it on the origin. This unit size was used on all models so that the real sizing and positioning could be done in the RIB file. The book case only needed resizing but the books had to be broken into a cover and "text pages". The latter are a single entity that were textured with a matte finish. The covers were textured individually. All the books are basically the same book sized differently and placed in the bookcase from within AC3D. This provided relative positioning for the books in the bookcase, after which any other translations would maintain that relative positioning. Books on the chairs or floor were done similarly. The walls are simple polygons or bilinear patches. The windowed wall turned out to show problems in the way AC3D does polygons for RIB output. I had to convert this wall from polygons to a set of bilinear patches (see the May issue of the Graphics Muse for how to make a hole in a wall using bilinear patches) in order for the texture to be applied evenly over all of the patches. This problem also showed up when trying to apply texture maps to the chalk board. It apparently has to do with vertex ordering. I had to change the chalkboard to a bilinear patch too. I may have to write my own models for anything that uses texture maps in the future instead of using AC3D. To his credit, I haven't told Andy (AC3D's author) about this yet and he's been very good about addressing any problems I've found in the past. An important aspect of this image is the tremendous help I got from Larry Gritz, the author of BMRT. He offered some special shaders, although I only used one of them (the one for the ceiling tiles). The biggest help was very constructive criticism and tips for things too look for in my code. For example, he pointed out that I was probably using the parameters to spotlights incorrectly. I was, and it was causing my scene to be *very* overlit (spotlights use coneangle in radians, and I had specified them in degrees). This one change made a dramatic improvement in the overall image. All the shaders used, except for the ceiling tiles and the papers on the desks, are from the archive of shaders from Guido Quaroni. This archive includes shaders from the RenderMan Companion by Steve Upstill, from Texturing and Modeling by Ebert, Musgrave, et al, Larry Gritz, and various other places. Its quite a useful resource for novices just getting started with shaders and RenderMan. The papers on the desks are textured with a shader I wrote that creates the horizonatl and vertical lines. It also puts in 3 hole punches, but thats not obvious from the image. This shader is the only one I included in the source. The chairs are textured with a rusty metallic shader and a displacement shader for the dents. Displacement shaders are cool because they actually move points on the surface (unlike bump maps which just change the normals for those points). The arm surfaces are textured with a wood shader that I made a minor change to (to allow better control of the direction of the wood grain) and a displacement shader that caused the bumpiness, scratches, and chips in the wood. This latter item could have been better, but I was running out of time. The chalkboard is an image map created in the 0.99.8 developers release of the Gimp. This is a *very* cool tool for Linux and Unix platforms, very similar to Photoshop (but apparently better, according to people who've used both - I've never used Photoshop myself). The image out the window is an image map on a simple plane angled away from the window. The window panes are dented using a displacement map. We had windows with bumps in them in High School and thats the effect I was going for here. Its pretty close and as an added benefit it prevents the image outside the window from being too washed out. The globe on the book shelf is one of those ones that is suspended by magnets. The globe is has a displacement map on it as well, which is why, if you look real close, the lighting on it is not smooth where it moves into shadow. The globe and its base were completely modeled in AC3D. It was quick and very easy to do. All the items on the booksshelf by the window are in a single model file, but exported as individual objects so they could be shaded properly. The same is true for the bookcase under the clock. It was fun. This is certainly the best 3D image I've done to date. Its also the first one of something recognizable (as opposed to space ships and planets no one has ever really seen).