EMAIL: p_chan@shaw.ca NAME: Philip Chan TOPIC: Mystery COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT. TITLE: The Prize COUNTRY: Canada WEBPAGE: www.ucalgary.ca/~phichan/index.html RENDERER USED: POV-Ray 3.5 (Windows) TOOLS USED: Adobe Photoshop LE 5.0 (conversion to .jpg) RENDER TIME: 3h 31m 34s HARDWARE USED: Athlon 1700+ XP, 256 Mb DDR RAM IMAGE DESCRIPTION: Who stole the prize? Somebody has broken into the IRTC headquarters and stolen the first place medal. VIEWING RECOMMENDATIONS: The objects in the background are meant to be barely visible. The image seems to display darker in certain programs. On my computer, it's just right in POV, too dark in Internet Explorer, and too bright in Photoshop. Adjust monitor brightness or gamma correct until the wires for the mouse and keyboard are barely visible. It may also help to view the image in darkened room. DESCRIPTION OF HOW THIS IMAGE WAS CREATED: First of all, thanks to John Guthkelch (Doctor John) for creating and making public his architectural field camera macro, available at: http://news.povray.org/povray.text.scene-files/29463/ An include file version of the code provided at the above site is included in the zip file accompanying this entry. This macro was used so the walls wouldn't look like they were falling outwards (sort of the opposite of the "Falling Building Syndrome" that this macro was written to solve). This image is created entirely within POV-Ray's built in text editor. The objects in this image are created entirely using Composite Solid Geometry (CSG), using primitives (spheres, cones, boxes, cylinders, planes, cones, torii), a few prisms, and a couple of text objects. The textures are all procedural, with the execption of one image map (which was itself created in POV). This image map was used to create the reflected scene visible on the IRTC medals. The lighting for this scene makes heavy use of radiosity - the only light source comes from within the hallway. There is no lighting in the room (with the exception of the standby LED on the monitor) in order to give a better sense that the scene depicts a break and enter. While I managed to create a more realistic lighting which eliminated the extremely bright glare from the doorway, I decided that the scheme used in the final version created a more mysterious mood. A more detailed and technical description of individual components follows: Medals: The medals are based on the ones used on the IRTC site. The reflected scene visible in the medals is a reflection of an image map which is UV mapped onto a hollow sphere which surrounds the metallic sphere of the medal. The UV mapping allows the invisible sphere (uses the no_object keyword) to be placed very close to the metallic sphere (so as not to affect other objects in the scene), and still give the right amount of warping in the reflection. In order for all the letters cut into the metal to have the same depth, the text object used for the difference operation with the sphere first has that same sphere cut out of it (so as to match the curve) and is then translated to intersect with the metal. This is much easier that the idea I originally had to calculate the necessary position/rotation of each individual letter. The metal textures are modified versions of those found in the include libraries, and the wood texture is taken directly from woods.inc (the POV-Ray include file). Medal Case: The metal body is constructed from primitives and a prism for the latch in the bottom right of the scene. The hinges are made from cylinders modelled so that one side of the case is obtained by rotating the other side (differences in the rim are added after this rotation). The texture is once again a modified version of a texture from the standard library. The depressions for the medals are cut out using a basic medal shape (a sphere and a cylinder). A difference with one additional cylinder, and the addition of a torus was used to smooth out the transition from each depression to the flat surface. I had originally intended to create a plush texture for the interior of the case, but that is beyond my abilities at the present. The one used is what I have been able to create so far. Near Table: A simple box. The texture is a slightly brighter version of one of the textures from woods.inc, with an additional layer to create the flecks. Floor: The floor boards are created by a while loop which creates boxes that have the same length along the z axis (into the monitor), but variable length along the x axis. The loop contains a condition to check the distance remaining to the wall when it is about to place a board, and if that distance is less than a set threshold, it will combine the last two boards. The texture for each board is randomly chosen from a set of three textures, which are slightly modified versions of yet another texture from woods.inc. A random translation vector is also applied to the texture on each board so that the wood grain doesn't line up and ruin the effect of the boards. Finally, a slightly shiny finish is applied to the floor to give a polished hardwood appearence. Chair: The chair is made primarily of boxes. The back of the chair is slightly curved, and is a section of a cylinder. The tips of the two posts are capped with prisms to give a smoother appearance. The texture is from the include libraries. Far Desk: The body of the desk is CSG of boxes, with a brighter version of one of the library wood textures applied. The handles are stretched cylinders, with smaller cylinder difference from the middle. Texture is a simple grey pigment. Computer: A box with holes in the front for ventilation (placed using a loop). The mouse is just a stretched sphere. The keyboard is a box, which extends into the table, allowing it to be rotated slightly to make the far end taller. The keys are made from several additional boxes. I decided against trying to put text on the keys as it is too far away for it to show well at this resolution (as can be seen from the book). I also experimented with creating individual keys, but after placing a grid of keys, I found the individual keys did not show up at this distance, so I went back to just using a box for each section of keys. The monitor is a box, with a cylinder for the base. The screen is made using a difference with another box. If you look closely you can see some controls in the centre and the stand-by LED (modelled after my monitor). The text says POV-Ray on the left, and the on the right is a POV-Ray logo object. Book: I wanted to place an open book on the desk to give the room a "worked-in" feel, but couldn't come up with an easy way to do the pages for a hardcover book (given a complete lack of experience with any modelling program, and working only with the text editor). I came up with the idea of doing a coil bound book which would look just fine sitting flat on the desk. I tried to create black splotches for text in the book, but it can't really come out well at this distance, (it's either speckled like it is now, or more or less completely black). Safe: More CSG with boxes. A cylinder and a cone are used for the dial. The texture is a simple grey pigment, as applying a texture similar to the one used for the case caused the inside to become quite bright (probably light rays bouncing around inside). Bookcase: Agains, CSG with boxes for the shelf. The books are placed using a modified version of the algorithm used for the floorboards. A random height is chosen for each book, and then a random length and depth are chosen proportional to the height. The clause for the minimum length of the last book is still in effect. Two random colours are chosen for each book, and applied with a gradient y pattern, which is randomly translated so that sometimes only one colour is visible. A small white box is cut out of the main body of the book to create the pages. Finally, a text object is selected based on the books aspect ratio, and then scaled and placed (with a small amount of randomness). The colour for the text object is also random, and may match fairly well with the colour of the book, giving the appearence of no text at all. Room: The door and frame are just boxes with a library wood texture. The doorknob is created from cylinders and cones. It uses the same texture as the third place award, but is much brighter because of its proximity to the light source. The lightswitch is more boxes, with a simple yellow pigment. The room itself is a box with a box differenced for the interior space, and another for the doorway. The texture is a granite pattern with a little bit of grey to break the monotony. Lighting: There is one light source in the hallway, and one extremely dim one for the LED on the monitor. The light level in the scene is achieved using radiosity. A relatively high value for brightness (2) was used to give sufficient lighting. Since this is my first scene using radiosity, I used the default radiosity settings, and adjusted the "higher is better" values up by a factor of 3, and the "lower is better" values down by a factor of 0.25, with the exception of several parameters: error_bound - adjusted to 1.3, which seemed to give the best results. Changing it either resulted in artifacts, or bright light spewing through the door onto the back wall. recursion limit - kept at 3, any higher and the walls start to turn red/brown adc_bailout - used the 0.01 / brightest_ambient_object rule of thumb, where I took the light source (magnitude of the colour value was approximately 2) as the brightest_ambient_object. As a result of altering the brightness to give the desired level of lighting within to room, the hallway became extremely bright. While I managed to create a more realistic level of lighting in the hallway using a light_group (the code for this is still in the source file, and is activated via a parameter), after getting feedback on the two versions, it was decided the the brightness through the doorway created a more mysterious mood.