TITLE: No Fishing NAME: Duncan Gray COUNTRY: Great Britain EMAIL: duncang@eclipse.co.uk WEBPAGE: www.eclipse.co.uk/duncang TOPIC: Desert COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT. JPGFILE: dg_desrt.jpg ZIPFILE: dg_desrt.zip RENDERER USED: POV-Ray 3.6.0.icl8.win32 TOOLS USED: I try and avoid tools outside of povray, but in this case a bitmap image was the easiest was to get the 'no fishing' text. Adobe Image-Ready was used for this text and to convert final output to JPG CREATION TIME: Approx 4-5 weeks part time evenings/weekends. RENDER TIME: HARDWARE USED: P4 2.8 for development / P4 3.06HT for rendering (with hyperthreading disabled so that the CPU could give it's all to POV-Ray). IMAGE DESCRIPTION: "No fishing" sign in desert !! VIEWING INSTRUCTIONS: I'm breaking in a new TFT monitor, and I am sorry to say I am having a difficult time trying to get the brightness/colour/gamma set appropriately - every time I load this image on to someone else's system (most notably those using cathode ray tube monitors) the balance of brightness/contrast and gamma is not what I intended. Please feel free therefore to load the image into a paint program and adjust the gamma to suit your system and your viewing preferences. I would suggest tweaking the gamma such that the desert does not become completely white, but so that the grain detail of the sign becomes clear, and some surface detail in the rocks becomes apparent. Thank you. READING INSTRUCTIONS: Judges, I know you are instructed (or requested at least) to read all this accompanying text, and I appreciate that I have been a little verbose in places. I therefore ask that you read as little or as much of it as you wish. It is predominantly for the benefit of anyone who would like to know how the scene was put together and cant get their head round my rather messy style of programming (ie I just hack it together as seems fit at the time, with little or no intention of trying to re-use any of it) and my largely absent comments. DESCRIPTION OF WHY THIS IMAGE WAS CREATED: Well, the theme was desert - it was kinda crying out for a nice isosurface, so I finally installed Pov 3.5 and started playing with isosurfaces. What I itended to produce was an object that can be viewed from any angle, any position, and should be recognisable as a desert - nothing more (the sign gets explained later) I must admit, everything I have done with iso's is very hit and miss - unlike most other pov objects, I have not entirely got the knack of changing the functions in a way that will give me the desired effect, (ie to visualise how I want it to look, then amend the function to get that desired look) it's more a case of changing the functions, seeing what effect it has on the scene/object, then amending the change to be closer to what I want. I am thus finding it a much slower process to put together an isosurface based scene, though I must admit the power and versatility of the isosurface is excellent. Urm, I guess the sign deserves an explanation ... when first attempting to generate the function to give me a desert-type surface, I was viewing the desert from further away - so far that the bounding box could be seen. On one particular hit of the render button, my intended desert undulations, combined with the rectangular block that was bounding the isosurface, produced me the most wonderful looking plank of wood. I got a little side-tracked at this point creating a weathered plank - I recognised that the isosurface could be used to 'eat' away the ends of the plank in a way that would give the appearance of rotted or broken wood. I wasted about a week building a sign - with no particular intention for it to remain in the scene, just because I was enjoying fiddling with it. The sign (with no text) remained in the scene while I continued trying to get the desert surface right, and I guess at some point in the development process, I decided the sign was going to stay. This just left the question of what to write on it. 'No Fishing' I would agree is a ridiculous thing to find written on a sign in the middle of the desert - I guess that's why I stuck with it, it appealed to my rather strange sence of humor. I dunno, you figure it out ;-) DESCRIPTION OF HOW THIS IMAGE WAS CREATED: First thing to note I guess is that the rocks are not rocks, the rocks are rock. There is only 1 rock in the scene, it just happens to poke through the sand in many places. The great thing about isosurfaces (errata: one of the great things about isosurfaces as I am sure there is much I have yet to discover about this rather useful object) is that the function can be added to or subtracted from by a secondary function. Thus the rocks and the sand are both based on the same function - an undulating surface. for the sand, a function describing a small rippled pattern based on a sine wave is added to this base undulations function. For the rocks, a combination of granite and a few crackle patterns are added to the same base function. To provide some control as to where the rocks will protrude through the sand, the base function is scaled up slightly when it is applied to the rocks. In turn the rock isosurface is positioned lower on the y axis than the sand function. This ensures the rocks protrude predominantly at the peaks of the undulations - my theory here being that the dune has gathered there because the rocks provide it with some shelter from the wind, but that as the dune level reaches the height of the rocks, the wind is again able to blow the sand elsewhere. I added to this an offset to the base undulation function in the x and z axi when applying the function to the rocks - This is intended to reflect that the wind is blowing from the left, slightly from the distance towards the foreground, therefore the rocks are offset slightly towards the wind (ie the sand has piled up behind the rocks) - it was this change that produced the 'fingers' of rock reaching down the side of the dune right of center in the picture. I liked this effect so stuck with it. There are then two varieties of plants - grassy-type plants (plant1) and twiggy things with small leaves (plant2) - both are created with macro's that have the ability to seed every such plant so it is unique, however I found that the memory requirements of the scene were two high when a large quantity of plants were added. The scene therefore creates 10 base plants of each variety (varying sizes) and places those plants again and again in the scene. Memory usage dropped dramatically (though I still wouldn't recommend rendering on a machine with less than a gig of ram - pvengine.exe consumes over 700Meg of memory building this scene) positioning of the plants was done in a similar way to the dune/rock relationship - the twiggy plant was first, and I figured this plant has a small seed, therefore it's seeds are dispersed by the wind. It might therefore follow that the seed is more likely to take root somewhere where there is a little shade from the wind. The loop which places the twiggy plant therefore keeps picking random positions until it finds somewhere where the rock iso is higher than the sand iso. It then tracks downwind until it hits sand, and defines the plant position to be at that point. The twiggy plants are thus predominantly down-wind of a rock. The grassy plants are based on altitude, I decided that this plant is more sucessfull when in the hollow of a sand dune. Thus the algorythm for scattering the grassy plants picks 10 random positions, and places the plant at whichever position has the lowest y value. A function is also used which examines the values of cam_loc and cam_tgt and decides if the chosen location is actually in view of the camera. (very approximately) - if it is not somewhere in front of the camera, a new location is chosen. Finally, a little ground-fog to give some depth to the image. Oh, and the sign of course, which as I mentioned earlier was developed by accident, and included in the final scene because it was there all the way through development. RENDERING TIPS: Warning, this scene is somewhat memory hungry ..... Both my dev and render machines have a gig of ram, pvengine.exe consumes 768 Meg of RAM in the rendering of this scene. If you wish to re-render the scene for yourself but do not have much ram, I would suggest decreasing the number of twiggy plants (currently 350; line 275 of desert.pov) and the number of grassy plants (500; line 313 of desert2.pov). It is the quantity of plants that is causing this memory usage in pov - decreasing these will drastically impact on memory requirements - indeed if it were not for the plants, the scene would only have 5 or 6 objects. Sorry, but I didn't note exactly how long it takes the scene to render - it is less than 24 hours at 1280x1024 aa+0.3 with area-lights on a 3GHz P4. if the area light is turned off, it will render overnight. And that's about it - I hope you like it.