Lost In Space
"Lost In Space" by Peter Duthie

A trillion miles from home, will you still care?

Prev - Index - Next ]
Long Description

Some time in the future, large scale space travel will become a reality. With the seeds of colonisation spread throughout our own solar system we will look toward neighboring star systems. The laws of relativity will prohibit our expansion at speeds greater than that of light, and practicality will demand journeys counted not in years, but in generations. The enthusiasm of the voyage keeps the first generation focused. Perhaps even the second and third. As the decades pass, will the decendents of those explorers still remember where they came from? Will they still care where they go? As decadence and lethargy become common place, who will maintain the delicate machinery that filters the air, that purifies the water? The automated machinery designed to hurtle the colony at astronomical speeds toward its destination keep it on its preprogrammed course. On arrival in the new world will the colony still contain humanity, or will the only inhabitants remaining be those stubborn strains of plant and animal life unafflicted with the human trait of apathy?

Making Of

This image is a near complete rework of an image I originally submitted for the POVCOMP October deadline. The original image was based on a similar theme, but with a more 'Cyberpunk' feel with the foreground occupied by a figure plugged into a portable computer, presumably up to no good. The ambience was somewhat lighter, and represented an earlier point in the voyage timeline when humanity was still somewhat evident.

With the advent of the extended deadline, I decided I was unhappy with a number of things. The general atmosphere of the image wasn't "dark" or claustrophobic enough for my taste. The level of detail needed a boost. It used a 3rd party poser model, and associated 3rd party textures. The foreground relied heavily on external modelers (Poser and Amapi), and although I am certainly not a POV purist, the basis behind POVCOMP is to show off the power and flexibility of POVRay itself, not some external tool. So as painful as it was, I moved the focus of the image back and removed the foreground, and eliminated my Poser and Amapi models including the 3rd party figure and textures. All remaining scene elements underwent a major overhaul, and many new ones were added, bumping up the scene complexity by an order of magnitude. Bitmaps were kept to an absolute minimum, and were only used when using a POV SDL algorithmic texture was impractical.

Concept sketches

The first step in any project I do is to try to visualise what it is I'm trying to achieve. To help me do this I sketched out as many scene elements as I could in various levels of detail. I find this helps keep me on course and gives me something to work from. It's also a motivational help seeing piles of unrealised sketches lying next to the computer!

Scene landscape

Radial, wheel shaped space colonies are not an uncommon theme in science fiction, and I wanted to show a miniature, self sustained environment designed in such a way as to be able to sustain generations of humans. I decided that the best way to do this was to create an earth like terrain that wrapped itself around the inside of a cylinder. I used World Machine to algorithmically generate a flat 2d height map, and exported the heightmap to a raw 32bit FP data file. I then wrote a quick program that takes the 2d heightfield data, translates it around an arbitrary cylindrical arc and generates a POVRay smoothed mesh (full source code and executables will be made available on my web site). As an optimisation, I made the landscape tileable so that when rotated 180 degrees, the ends line up and appear almost seamless. This way I was able to use a relatively small heightfield many times in the scene without the memory/parse requirements of a single larger mesh. If you look at the scene carefully, you might notice that the foreground landscape is identical to the background landscape on the other side of the lake if rotated 180 degrees! The river and lake were added by differencing a cylinder from a cylinder, and filling it with scattering absorbing media to give it the murky look. The air is simply a torus shaped to the approximate dimensions of the structure interior, filled with an emissive media to give the foggy polluted look.

The Canopy

This is algorithmically generated, and consists simply of cylinders placed in a toroidal shape, with triangles textured to look like glass in between them.

The Transport Tube This is generated from a spline which itself is generated from the coordinats of the tube pillars. The spline is divided into segments, each segment being a separate entity consisting of a glass tube constructed from a pair cylinders. The end of the tube is attached to a ring connecting it to the next segment. Underneath each glass tube is the support framework which is built from cylinders, spheres, and boxes arranged into girder and rod formations. The entire segment is then transformed into the correct position along the spline. The hanging cables are then added. The cables are in the form of a hyperbolic cosine and should accurately model real world physics in the way they hang from any two points, with the gravity vector being the inverse of the vector to the closest point on the wheel axis. The math for that got quite difficult and I ended up spending over a week just getting the equations right and even then I'm not sure.... but they do look quite nice!

The Buildings

The structures are placed pseudo-randomly on the landscape. For each structure, the trace call is used to select a position on the landscape and that position is examined to determine if it is suitable for a structure. For example, if there is an existing structure too close, or the gradient of the land is not flat enough a different place will be selected. The structures themselves are fairly simple CSG operations on boxes, spheres and cylinders, except for the pyramidish looking one which is a hand generated mesh.

The Foliage

The trees scattered around the landscape are generated in a similar way to the buildings, but in addition to just using the SDL trace call for placement, it is also used for each leaf to ensure that the leaf does not intersect or poke through the walls of a neighboring building! Each tree is individually generated by an algorithm with places the trunk (which consists of a cone and a sphere) at an appropriate angle from the ground, and leaves (which consist of hand/algorithmically coded smooth meshes) which appear to droop toward the ground.

The Plasma Rail

The primary light source of the scene is a toroidally shaped ring filled with plasma. As with many of this scenes components, it is divided into segments and algorithmically generated. Each segment consists of a completely transparent cylinder filled with emitting media. Each cylinder contains an adaptive fading area light (21 in total) along it's length. Connecting each cylinder with it's neighbors is a torus stretched to a near cylindrical shape.

The Tube Carriage

The carriage in the transport tube is made from bicubic patches designed from scratch in SPatch. Its exhaust is an emitting/absorbing media filled cone.

The Textures

As mentioned earlier, I used SDL pattern textures where possible, and even when bitmaps were used, they were most often used blended in layered textures. Where bitmaps were required, they were based on photographs I had taken personally at some point, and modified in Texture Maker and GIMP, or generated natively by me in one of the two mentioned software packages.


After many months of hard work and CPU cycles, I am finally happy with the image. Having been constructed with detail in mind, much of that detail is lost in the screen sized 1600x800 render. To demonstrate the detail available at higher resolutions, I have attached additional detail images to this submission.

All SDL code and textures in my submission are my original creations for the purposes of POVCOMP 2004. All SDL code and textures in my submission have been made freely available, and may be used by anyone, for any purpose, with no restrictions.

Tools Used

[World Machine: Heightmap generator - Generated basis of landscape]

[Custom heightmap deformer: Convert heightmap (in 32 bit FP format) to POVRAY mesh and deformed into cylindrical shape.]

[SPatch: Designed bicubic patch based tube train engine and carriage.]

[Texture Maker: Postprocessed digital camera shots into textures, generated new textures algorithmically.]

[GIMP: Post processed textures.]

[vim: Source code editor.]

[povray 3.6.1 (linux): Renderer.]

Supplied Files

lis_bitmaps_1.zip (4143 kb)
lis_bitmaps_2.zip (4428 kb)
lis_bitmaps_3.zip (4007 kb)
lis_detail_c.jpg (535 kb)
lis_detail_d.jpg (764 kb)
lis_detail_e.jpg (413 kb)
lis_detail_f.jpg (861 kb)
lis_src_sample.zip (45 kb)

Detail Images

Detail 1: 1024x1024 @ 600,300

Detail 2: 1024x1024 @ 137,278
Judges Comments


Prev - Index - Next ]
All entries and comments are copyrighted and the property of the author.
No content on this site may be used without appropriate permission.