TITLE: "Eruption!" or, "Is this a Landmark or what?" NAME: Joost Egelie COUNTRY: Belgium EMAIL: joost.egelie@skynet.be WEBPAGE: http://www.skynet.be/users/egelie/ but it still needsupdating... TOPIC: Landmarks COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT. JPGFILE: eruption.jpg ZIPFILE: eruption.zip RENDERER USED: POV-Ray PPC 3.1g/b1/AUG99 Unofficial, by The Smellenbergh Team (if I had used the official Mac version by Eduard Schwan, the rendering time would estimated to be 6 days, 19hrs and 56min!!!) TOOLS USED: Adobe Photoshop 5.0 for creation of height fields and the two RAWs MacMingle (creation of my own) to combine the two RAWs into a DF3 file RENDER TIME: 12hrs 15min 30sec HARDWARE USED: Apple Macintosh Performa 6200/64MB (Motorola PPC603e 75MHz processor) IMAGE DESCRIPTION: People turn their heads towards the sky as they witness the earth spewing out hot showers of molten soil - for miles away in the vast surrounding area one can see the sky turned into solid fire... is this a Landmark or what? DESCRIPTION OF HOW THIS IMAGE WAS CREATED: This all started out as a fairly innocent experiment on height fields. Could I place two height fields into each other to make a mountian with lava on it? It turned out so. Then I plunged into the techniques of media, in order to make a cloud of steam rising up from the volcano. But what ever way I crafted these interiors and densities... no satisfactory plume of smoke came out. My last resort would be a density-file; but I had no utilities to make such a file. Until on night - I had a dream (merely overnight wonderings): what would happen if I just took a picture, made it 3D by projecting it along its z-axis, and "mingled" it with another picture treated the same way?... I wrote a simple ANSI-C program that could do the job. And yes, the results were high above my expectations. The volcano didn't just blow off steam - I made it erupt! (That's why I love the Virtual Reality - one has the power of gods at his fingertips). I added a customized Cloud-pigment in a sky_sphere, and put a very light normal (ripples with turbulence) on the camera to emulate vision through hot air (but I don't think it is quite visible with that inferno in the scene...). More about the density-file (DF3): POV 3.1 understands a new file format created by the POV-team to read in a file containing a 3D cube with densities in it. However the POV-manual sais very little about this technique, I managed to excavate its secrets. And it all turned out to be easy matter - once you picture things in your head. We start on two dimensions: the surface of an object. When I want to give it a complex pigment (say, the world map on a sphere), I choose for an image_map. That picture can be easily wrapped around the object in order to give it its right appearance. In the same way I can use image data to make complex normal bumps and dents. Now picture a DF3 file to be an image_map subscribing the densities of gasses or clouds *inside* an object. So in fact, this is a three-dimensional picture, or what we all know from SciFi movies, a hologram. What my utility did, was taking two pictures of 128x128 pixels, stretching them out along the z-axis to make them both cubes of 128x128x128 pixels, and then putting the first one into the flank of the other. The pixels were mingled in this way: pix1 + pix2 denspix = ------------- 2 It resulted into a DF3-file of 128x128x128 pixels (or bytes for all that matters) I still have to work on my utility, providing a better interface than the command-line input it had shortly ago, mingling in different ways (such as sqrt(pix1 x pix2) and so) and perhaps the possibility of mingling three or even more pictures. But therefor I could need some help - it is very hard programming on a Mac with only MPW. Anyhow, I'll put out the basic and original ANSI-C source code on my website so people can take a look at the process or even compile it for their own computer platform. Furtheron: Have FUN!!! (in three dimensions!) Contact me at joost.egelie@skynet.be . Contact the Smellenbergh team at smellenbergh@skynet.be .