Internet Ray Tracing Competition Entries

May-Jun 2000 - The Wilderness

Lonely Beach

The image

"A place where humans are insignificant..."
The meeting of land and water - a place where anyone can feel overwhelmed by the vastness of the ocean, the sand, and the sky.

How this image was created

I struggled for over a month to think of a subject for this topic. I was toying with an Antarctic scene when a net acquaintance pointed me at a photo he had taken at a beach in Oregon, USA. Taking that as inspiration, I adapted freely and produced this interpretation.

There are only a handful of objects in this image - most of the work is done by textures and media. The beach is a height_field, hand drawn in PaintShop Pro, and a torus. The ocean is just a plane, the stream another plane at a slight angle so they don't coincide. The waves are toruses with a leading edge of white foam with high ambient value.

The clouds are a simple bozo layer, overlaid with a slab of scattering media. The sun is the only light source, and looks_like a blob object to get the appearance of being heavily refracted by the atmosphere.

The girl's silhouette is an image_map, taken from the original photo, mapped on to a height_field of the same silhouette, with a water_level to cut away the surrounding area. I initially used a box, but the transparent bits interacted with the media and produced a visible box. The birds are modified pteranodons from my entry in the Imaginary Worlds round last year.

Development history

It took me a while to get started on this round. I sort of toyed with a few ideas for a month, and didn't really get anywhere. Then early in June someone showed me a photo he took on a beach in Oregon. It was a big empty beach, and a lone child playing, silhouetted against a magnificent sunset.

Here are two early attempts at recreating the silhouette. These were cropped from the original photo, resampled at higher resolution, and used as image_maps in POV-Ray. The one on the left is in the original colours of the scanned photo, the one on the right has been reduced to a 1-bit monochrome image. I'm not sure which I prefer.

Here is the general layout of the whole image. The photo was very high contrast, with muted colours, so I am being creative with the colours. I need to add clouds and somehow brighten up the reflections off the water. The ripples in the water also don't look great at high resolution, so I'll have to work on that as well.

This is the silhouette again, this time using a much higher resolution scan of the photo. The results are much better!

Further work: Adding a simple cloud plane with a semi-transparent bozo map. Then I added some deep but thin ground fog, to create a nice blending effect at the horizon. I've also stretched out the ocean normal in the x-direction to create waves that look like they are rolling in towards the shore, rather than at random.

Time to add some serious clouds. These are initial experiments in doing so with media. These scenes are all identical, except for the scattering model used. Leftmost is isotropic scattering, centre is Mie haze scattering, and rightmost is Rayleigh scattering. These all use a grey scattering medium.

More scattering models. Leftmost is Henyey-Greenstein scattering with an eccentricity of 0.3. Centre is the same with eccentricity -0.3. Rightmost is eccentricity -0.1. I think this is getting close. Now to adjust the background sky_sphere colour and maybe the scattering medium colour.

Now we're changing the scattering colour, using the -0.3 eccentricity model from above. Leftmost is scattering red more strongly, and blue less. Centre is scattering red less and blue more. Rightmost is the same but with the redness of the sky_sphere increased and the blue lowered.

Wouldn't you know it. I'm just about happy with the sky, and do a test render to see how it looks reflected in the water, and this shows up. The media interaction for some reason causes the transparent parts of the silhouette image map to become visible. I don't know why... I think this must be a bug in POV-Ray.

I had to think of some way around this mess.

The easy answer is to use the same image map as a height field, with the water_level set to remove the background, and use this object instead of a box to project on to with the image map.

Home | DM's Ray Tracing Page | Internet Ray Tracing Competition Entries
Last updated: Saturday, 11 February, 2006; 23:02:21 PST.
Copyright © 1990-2019, David Morgan-Mar.
Hosted by: DreamHost