EMAIL: pottsorken@hotmail.com NAME: Jens Persson TOPIC: Surrealism COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT. TITLE: The central message of communication, the body of the message. COUNTRY: Sweden WEBPAGE: home.student.uu.se/j/jepe1833/ RENDERER USED: My own software (a little raytracer I call Raymo) TOOLS USED: Only Raymo (Gimp to convert ppm image to jpg) RENDER TIME: Approximatley 20 h, (cpu frequenlty busy with other stuff) HARDWARE USED: 1 GHz Pentium III, 512 MB IMAGE DESCRIPTION: As far as I understand, the surrealists engaged in activities intended to unleash the irrational uncontrolled thoughts and impulses that they believed underpinned human existence. They were trying to reach a deeper truth, something that lies behind/beyond what we think of as our conscious reality. Our problem is then, that we don't see the real reality, the surreality. So with their paintings the surrealists wanted to communicate a message to the observer that opened her eyes to this real reality. That is, the message of a surrealistic painting is ment to trigger thoughts that may seem irrational but in (sur)reality is truer than true. So, what is such a message like? It shoud be a very (sur)real message! But, how do I know if it is really a real message? To answer this question, I have made an informative picture in which the actual body of a message is visualized, and it is not the body of just any message, it is the body of the message of the image itself. That is, it is an image of its own message, its message body. DESCRIPTION OF HOW THIS IMAGE WAS CREATED: A while ago I played around with isosurfaces in PoVRay. I was intrigued by the concept, and I started reading about how to render them and also how to create continous 3d (Perlin) noise. This got me started on writing my own raytracer, which I hade been planning to do for a while to be able to experiment with unconventional objects and raytracing methods. There is not very much unconventional about it yet though; I have implemented spheres, isosurfaces, point lights, area lights and anti-aliasing. The program is written in C++ and is entirely self contained (no external libraries are used). The object on this image is an isosurface sphere whose radius is dependent on 3d Perlin noise with its "granularity" increasing along the distance to the center of the spehere. Further more, "twists" are applied at random places in random angles and amounts, the coloring is done in a way so that it is related to the shape of the object, everything decided by a couple of 3d Perlin noise sources. The long render time is not entirely the effect of poorly written code (I would like to believe that it is not that extremely slow), but each ray has to step through the isosurface object carefully by taking very small steps in order to make sure that no parts of the surface is missed, and this particular object has a lot of details and fast changing values. And this has to be done for each of the 16 anti-alias rays per pixel and for each of the 9 light sources in the single area light. The next thing I will do is to triangulate the isosurface into a mesh, which would render many times faster and also make it possible to save the objects as meshes instead of just the function.