TITLE: Shadows of Light NAME: Cliff Kirk COUNTRY: Canada EMAIL: cliff_kirk@hotmail.com TOPIC: Magic COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT. JPGFILE: probliv.jpg RENDERER USED: Povray 3.0 for Windows TOOLS USED: Paint Shop Pro 4.10 image maps, height field creation, ominous figure... Turbo C++ 3.0 : complex shape generation. RENDER TIME: 7 hours, 51 minutes. (14,628 frame level objects) HARDWARE USED: Pentium 133, 32 megs ram IMAGE DESCRIPTION: "There is no line which falls between light and dark, for they are one. For every victory there is conceit and envy, for every failure there is knowledge gained. Just as for every shadow that lays upon this earth there is a light from which it was cast. Those who can rise in these shadows of light will hold the true magic of existence that is their own." Quoting Myself :) Most people seem to think of magic as either being "good magic" or "bad magic"... I myself don't think there would really be such a defined difference between the two. That's why I decided to create the image the way I did... You tell me, is the figure in the image an evil sorcerer? A servant of god himself? or something that falls between the two with the powers of both worlds?... DESCRIPTION OF HOW THIS IMAGE WAS CREATED: Well.. I'm sure that the only people who actually read this part want to learn some tricks so I'll do my best to explain the ones I used in this image and try my best to ignore the completely obvious... Ok, I know at least one of you is wondering exactly how I made the halo fade from purple to blue so effectively... Simple trick.. I'm assuming that it's just not often thought of since I've never seen it done anywhere other than on my machine : color rgb<1,0,3> Not exactly covered in the Povray bible as I recall, but it works. My best guess to exactly what is happening is that rather than the image fading down to rgb<0,0,0> it fades down to rgb<0,0,2> making for an interesting effect... Ominous figure in light.. Just as easy as you can imagine... sketched it out on paper... scanned the image (cheapo hand-held gray-scale beast I picked up on sale.. don't need a lot for a silhouette).. Adjusted it in Paint Shop until I was happy and then threw it up on a box as a texture with the background color transparent... Sink the box just far enough into the halo and the figure takes shape. To be complete in my explanation, the image isn't actually in the center of the platform but a significant amount closer... (note that I deliberately removed its shadow to hide this)... This allows for a strong halo as well as the ability to still see the figure as if it itself is producing the light.. Since all monitors are more or less 2 dimensional, the true distance can't be judged by the viewer if the image is placed correctly... Pretty simple but I feel it needed to be said... As for the smooth curving shapes everywhere, this is where it gets complicated... I basically put together a little utility for myself (Turbo C++) so all I need to do is enter the beginning radius, ending radius, and points along the curve into a text file.. Then I run my little utility with a few adjustments controlling the amount of curve and number of iterations... Essentially, each iteration bisects the line between two points and approximates where that point will be "pushed" to based on the points around it.. Once it's generated all the locations it finds the radius at each point based on the length of the curve, the distance from the beginning, the radii of the beginning and end points and then spits out a little include file made up of a sphere at each point and cones connecting them... All I have to do then is make the general shape and turn up the iterations letting it rewrite the include files for the final rendering... Dunno if this is the way someone else would do it or if it's even the easiest way to do it for that matter.. But I'm the one doing it and it's the way I like to do it :).. I'll probably release the utility to the general public when I clean it up a bit (still a pretty ugly looking piece of code, but it works).. I'm not going to bother including my source for this one... Anything other than what I explained is pretty straight forward and the only thing I could possibly see someone wanting the source for is exploitation and we don't want that to happen :).. But if you actually want to know more information about how it was done your welcome to ask... My email address is on the image...