TITLE: Seacoast NAME: David A.R. Wallace COUNTRY: U.S.A. EMAIL: darwallace@earthlink.net TOPIC: Sea COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT. JPGFILE: seacoast.jpg ZIPFILE: seacoast.zip RENDERER USED: POV-Ray 3.1/MegaPOV 0.5 TOOLS USED: Paint Shop Pro (for JPEG conversion) RENDER TIME: 1 39 13 HARDWARE USED: AMD K6-2 400, 96 MB RAM. IMAGE DESCRIPTION: A view from the sea toward the shore under a partly cloudy sky. The water contains some fish, some branched coral, and a turtle. Five seabirds fly overhead, three in a group, one rising from the water, and one above the picture yet casting a shadow on the water. The simple coastline boasts seven trees. DESCRIPTION OF HOW THIS IMAGE WAS CREATED: The image consists of 6 major element types: 1. The water. I found Michael Hough's tutorial on how to properly render water very useful if not critical. I adapted it to my purpose with a more complex normal function, a modified absorption color and strength, and a lower reflection. You can just see the seabed near the camera position. The underlying object is just a simple plane. 2. Coral. The branched coral was designed using Gilles Tran's MakeTree macro. The texture was adapted from a bone texture I made earlier. Since the corals are at the bottom of the sea, the water's absorption and refraction obscure them greatly. 3. Fish. The fish is one of my simpler objects: all CSG of basic shapes. The result is straightforward enough. The body texture has two layers, bozo on top of agate, with the color a mottled mix of black, green, and white. The eyes are clear green, the mouth is orange-yellow, and the gill slits are black. 4. Turtle. The shell is a basic CSG combo with some torus objects. The crackle texture, with accompanying normal, is very effective despite its simplicity. The rest of the turtle is a blob object using spheres, cylinders, and transformations. The turtle has legs but the water's reflection obscures them. The eyes do appear to be somewhat sunken. 5. Trees. A more traditional product of the MakeTree macro, complete with broad leaf foliage and Mr. Tran's bark and leaf textures. Large, detailed, and in plain sight, the only obstacle to detail in the picture is sheer distance (6500-9000 units out!). By comparison, the close-up fish is 3.5 units out in the z direction and the turtle is 5.5 units out. 6. Birds. The body and head are blobs, the beak and eyes are CSG, but the wings deserve special attention. They are parametric surfaces which were created using a special macro of my own design which I will describe separately. Actually, each wing has 2 surfaces each. The body texture is a scaled crackle with some turbulence which seems to mimic feathers fairly well. The color is white with some dark gray. The beak is orange and the eyes are blue. MegaPOV has a parametric surface generator but I created a generator of my own as a macro which writes a mesh object into a file. Placing the object in your scene requires only an object{ #include "paraobj.inc" } statement. The macro's parameters require a separate include file because some of them are macros themselves. You can name the object file yourself as its name is one of the parameters. I have since adapted it to allow for random variances (Let MegaPOV try that ;}) and various levels of message detail. One issue came up as I was creating this image. MegaPOV's interior_ texture statement looked very inviting as I was planning on making a tube-like coral with a crackle medium. Unfortunately, I could not make it work. I also tried a more traditional interior { media { crackle } }, but the density pattern was the exact opposite of what I wanted };. The reef itself would have been a blob object. ACKNOWLEDGEMENTS: The POV Team for their excellent, and free, raytracing program. Nathan Kopp for his MegaPOV compilation. I used version 0.5. Gilles Tran for his MakeTree macro, which was used to design the corals and trees. The Absolute Background Textures Archive, which supplied the sky texture. Michael Hough for his excellent water tutorial, which I adapted for this image. It was this tutorial that prompted me to use MegaPOV.