Site map

Site map

6 Feb 2016

Ray tracing

by François de Dardel



Macintosh sur le bureau

For those curious: the picture on the left is a synthetic (or "virtual") image created on the Macintosh using Persistence Of Vision (POV) Ray-tracing. The image is built geometrically, using so-called "Constructive Spatial Geometry".

All the objects and other textures or patterns are created and assembled by geometrical programming using POV. A virtual camera and virtual light sources are then set, and the picture is created ("rendered") by "ray tracing". By moving the camera around, you can take any number of pictures of the same scene.

The real Mac fans will notice that the iMac G4 is a little simplified. The screen itself is a dump from my own Mac. More about ray-tracing under other pictures, with the Italian villa, but first have a look at my house.

The house project

All pictures are derived from the same single POV description file. Here, I started (in August 2005) from a file made by Sascha Ledinsky, and I added many details, including the tree, the pavement, the fountain, the bench and the landscape around the house. Then I placed furniture inside the house to take interior views. See the situation map to orient yourself and the floor plan to get acquainted with the house indoors.

Plan de la maison Everything is defined geometrically, except the pictures on the walls and the tapestry. There are 14 source files totalling 210 kB of text to describe the house, its environment and the furniture, including 12 kB for the tree adapted from Jean-Laurent Pradel, and 20 kB for the sea plane borrowed from Kurt Bangert, which is shown in different positions. Moving the "camera" around and into the house demonstrate that it is indeed a geometric object and not a series of drawings. I only vary the position of the camera, and the lighting, to get all the images (today, 40 pictures inside and outside). I also occasionally move around the balloon and adjust the weather fane. There are five different skies to refect changing weather. I have changed the environment in August 2007 and again in July 2013, and the island landscape is now somewhat more realistic.

I designed the pavement with individually random-coloured cobblestones.

In some of the outdoor pictures, there is a little amount of fog, so that the distant objects are not as clear as the close ones. I am not completely satisfied with the results, and hope to do better at a later stage. The POV program is very powerful, and quite complicated to learn. There are hundreds of commands to adjust light, colours, textures, reflection, refraction, and everything is hard coding. Clicking on the close-up of the roof, you will see the arrangement of the tiles, courtesy of Sascha Ledinsky. I would never have found the complicated algorithm used for this purpose, but I learnt from it to make the pavement around the house.

Maison This on the left is the first version, made in August 2005. It had no landscape, was smaller, and empty. The door opened on the wrong side, too... Today, there are many items in the house. I created most of them, but I also borrowed and modified several objects from files made available by the community of POV ray tracers. See the corresponding acknowledgements.

I started ray-tracing around 1993 with DKB (by Eduardo Schwan), the ancestor of POV. I improved my skills gradually, but there are many much better experts. Several of the pictures made their way to my employer's web pages, which I created early 1998. If anybody has comments or suggestions about these pictures, I will be delighted to read them.

More information on the ray-tracing software and principles can be found in the POV site pages. See also my links page.

Pictures will open in a separate window. JavaScript is required for proper display.
(800 x 600, 98 kB)
(800 x 600, 40 kB)
House at night
(800 x 600, 78 kB)
Boeing 314 à l'ancre
With my sea plane
(800 x 600, 102 kB)
Vol d'oiseau
Bird's view from SSE
(800 x 600, 104 kB)
View from NW
(1120 x 630, 109 kB)
Façade nord
North end
(800 x 600, 82 kB)
View from the terrace
(800 x 600, 106 kB)
(800 x 600, 106 kB)
Toit et girouette
The roof
(800 x 600, 139 kB)
De l'intérieur
The lighthouse
(800 x 600, 55 kB)
Top of lighthouse
Lighthouse, zoomed
(800 x 600, 35 kB)
Du phare
View from lighthouse
(1200 x 600, 100 kB)
Top of lighthouse
Lighthouse at night
(1000 x 750, 60 kB)
Inside the house
(800 x 600, 98 kB)
Inside, inversed
(800 x 600, 72 kB)
The fireplace
(800 x 600, 88 kB)
iMac G4
The glass table
(800 x 600, 52 kB)
The book shelf
(800 x 600, 84 kB)
De l'intérieur
Inside out
(800 x 600, 53 kB)
(800 x 600, 70 kB)
Pièce nord
Inside, back
(800 x 600, 81 kB)
Zoom on table
(800 x 600, 68 kB)
The kitchen
(800 x 600, 102 kB)
Stairs, above
(800 x 600, 60 kB)
The attic
(960 x 540, 94 kB)
Iron bed
(800 x 600, 68 kB)
The bathroom
(800 x 600, 55 kB)
Down to the cellar
(800 x 600, 112 kB)
Douche et WC
The shower
(540 x 720, 58 kB)
The cellar
(800 x 600, 91 kB)
The cellar
(800 x 600, 75 kB)
The cellar
(800 x 600, 82 kB)
The cellar
(800 x 600, 93 kB)
Panoramic views

With POV Ray-Tracing, you can create a cylindrical or spherical panoramic view and then convert it to an interactive picture that you rotate to see under different angles. You can also zoom in and out. You can even see the panoramas with a "full screen" option. I am now using Adobe Flash® (SWF) pictures created with another software (Pano2VR) from the POV original ray-traced image. I find the effect amazing.

To view the pictures, you need a FlashPlayer plug-in; most browsers have one. Click each small picture to open the panoramas in a new window and navigate using the symbols at the bottom of the picture. As the SWF files are big, they need a few seconds to load.

Outside (800 x 600, 2.1 MB)
Inside (kitchen corner, 800 x 600, 1.7 MB)
Spherical view (800 x 600, 5.1 MB)
Inside (sitting room, 800 x 600, 1.6 MB)
Attic (800 x 600, 1.6 MB)
Spherical view (800 x 600, 7.6 MB)
Cellar (800 x 600, 2.5 MB)

The Italian villa

PalazzoI created the Italian villa based on a painting by Francesco Granacci. See my version and the original, viewed under the same angle. Unfortunately, it is impossible to describe human beings geometrically, and vegetation is very difficult to model, as you can see from the tree, and takes a long time to render. On the left here the wide angle view of the villa. I borrowed the statue from an unknown expert.

My version
with POV ray-tracing
Peinture de Granacci
The original
by Granacci

Other pictures
Bureau virtuel de François
The image above is a picture I created in 1999 and updated more recently. You will see that I re-used the pencil holder with coloured Apple logo, as well as a few other elements in the more recent iMac picture at the top of this page. In this "desk" picture, 5 items are imported in form of "Image Maps": these are the Tintin picture on the wall, the photo on the desk, the apple logo on the pencil holder, the "Happy New Year" text on the desk and the "Δαρδελ" signature in Greek on the metal sign. The other items are all constructed geometrically.

Détail du bureauOn my MacBook Pro the desk picture is rendered in 39 seconds. On my Macintosh G4 with biprocessor at 1 GHz (2002), it took 3 minutes 17 seconds in a 1024 x 768 pixel size. On my Mac 8500 (1998), it took one to two hours, and on my old Mac IIci (1993), rendering the same image could take as long as a full day... The image above is a compressed jpeg of 800 x 600 pixels. Here on the left, I have rendered only a detail at a larger scale, and under a slightly different view angle.

To be totally honest, I have borrowed the blue vase from another ray-tracing author (Dan Farmer), the pencil (which I modified) from Jorge Arreguín and the wooden textures from Dan Farmer again and Paul Novak. These are supplied together with the (free of charge) ray tracing software of POV.

So, I only created the other objects: the column, the table, the paperweight, the golden sign with my name, the pencil holder and the picture frames, and assembled them to this picture. It took me about three days (in 1999)...

The plant and the tree — that I have re-used in my house project and in the villa — is a creation of Jean-Laurent Pradel (1998), that I have slightly modified. There are (in my version) 21 parameters to play with and change the style of the tree. You see thus two examples with different settings. However, it still looks somewhat artificial. On the other hand, it renders quite fast, because the algorithm used to create it is very compact, which does not mean it is simple.

The splendid yellow flying boat was created by Kurt Bangert. It is a very faithful reproduction of the Boeing 314 "Yankee Clipper" operated by Pan American between 1939 and 1951. For interest, here are the specifications of the original big plane. With POV, I made 49 different pictures of the plane flying around the island, and converted it to an animated GIF.

The Apple keyboard with its 110 keys took me five days to create...

Other ray-tracing pictures I made include:
Swiss honey
(800 x 600, 51 kB)
(800 x 600, 54 kB)
(800 x 600, 26 kB)
Desk detail
(800 x 600, 64 kB)
Pot with plant
(800 x 600, 108 kB)
(800 x 600, 112 kB)
(800 x 600, 104 kB)
(800 x 600, 80 kB)
Boeing 314
The flying boat
(800 x 600, 40 kB)
Avion volant autour de l'île
Flying around
(600 x 300, 3.3 MB)
(GIF animation)
(800 x 600, 50 kB)
Apple keyboard
(1200 x 600, 65 kB)
Book & pencil
(800 x 600, 43 kB)
Ion exchangers
(800 x 600, 43 kB)
Bille tournante
Rotating bead
(480 x 360, 671 kB)
(800 x 600, 45 kB)
(800 x 600, 68 kB)

Here a few organic molecules. The "building blocks" (atoms) are simple, but their arrangement in space gave me some trouble. Just in case you didn't guess, I am a chemist...
Color code of the atoms:
C = black, H = white, O = red, N = yellow, Cl = green, Metal = metallic.
Acetic acid
Acetic acid
(600 x 600, 14 kB)
(600 x 600, 18 kB)
(600 x 600, 15 kB)
(600 x 600, 24 kB)
(600 x 600, 24 kB)
Glutamic acid
Glutamic acid
(600 x 600, 24 kB)
Sodium glutamate
(600 x 600, 20 kB)
Citric acid
Citric acid
(600 x 600, 24 kB)
Laboratory sieves
(600 x 600, 50 kB)
Amberpack filter
(600 x 600, 36 kB)

Site map

Site map

The music, if you have clicked on the icon at the top, is J.S. Bach's fugue BVW577 (see my music page). To François´ homepage