Internet Ray Tracing Competition Entries

Jul-Aug 2000 - Sea

The Great Wave


[IRTC Second Place Winner]

The image

Fishing boats struggle in the huge waves off Kanagawa, with Mount Fuji visible in the background.

How this image was created

This is based on Katsushika Hokusai's famous woodcut print The Great Wave Off Kanagawa. I wanted to reproduce some of the feeling of a Japanese woodcut, and decided to use a complete separation of colour and form. I like experimenting with different artistic styles and seeing how I can emulate them in POV-Ray.

All the objects in this scene are pure white. The colour is produced by coloured spotlights, shining on various parts of the scene. I was aiming for a slight "spillage" of colour, to produce an effect somewhat like an ink and watercolour wash painting. So the shadows and odd leakage of colour between objects is intentional. I could have moved the sky further back to avoid the shadows, but I like the effect - especially the wave shadows, which sort of give the feeling of more waves in the distance. The coloured spotlights are the only lights in the scene. I fiddled with the brilliance parameter a bit to get the diffuse light reflections from the spotlights, which are often placed at glancing angles.

The entire ocean, including the waves and foaming wavelets is one blob object - containing 12,900 sphere components, all placed by hand (or at least inside recursive macros and loops which were placed by hand). The boats and crew are CSG, with their own spotlights for colour. Mount Fuji is just a cone. The sky is a plane, in the relatively near background, also lit by spotlights, as well as spillage light from the other objects. All the objects are textured with suitable normals. The box with the Japanese text is image-mapped from a scan of Hokusai's print.

If I had more time, I'd play with the lighting and the colours a bit more - adding some more colour variety. I was hard pressed getting this far, because with this many spotlights even small test renders were taking a significant amount of time.

Development History

Well, I have an idea very early in the round this time! Let's see how we go...

This fairly well known image is The Great Wave off Kanagawa, by Japanese artist Katsushika Hokusai (1760-1849). It is a woodcut print, produced in the style known as Ukiyo-e, or "picture of a buoyant world", meaning images of the daily life of commoners. Such prints were produced from up to twenty different woodcuts, printed in different colours. This work is part of a series entitled Thirty-six Views of Mount Fuji, produced from circa 1823-1833. One of the original prints currently resides in the Metropolitan Museum of Art in New York, but some other museums also have one.

Here is a first attempt at making the overall wave shape. This is a blob. Hopefully I can recurse the macro in a way that will produce the fractally edges of the wave in the print.

The red grid is a reference grid, with intervals at 1 unit (1 metre). I think the wave size is about right. I'll find out when I start making the boats.

I've started working on the fractally wavelets which shape the edge of the main wave. These are generated with the same macro that generates the large wave, just on a smaller scale. The code is pseudo-recursive, in that there are multiple levels of nested macros which call macros further down the chain, ending in a mass of calls on the lowest level macro.

The colouring is still experimental. This uses a graded pigment on the blob components across the spike. Unfortunately it slows down the parse and render time considerably compared to texturing the entire blob in one go. I'll have to see how the render times go as more of these elements get added.

I decided I needed to get the shape of the whole ocean down properly before worrying too much about the little details. This is all a single blob object, made with 210 sphere components, all placed by hand. Well, with a few loops to place groups of spheres in place to make the main bulges, and a macro for the blue wave, but the loops and macros were coded by hand and the positioning of each group of spheres was done by hand.

I still haven't worked out how I'm going to colour this blob object. So at the moment the only colour is from the macro which generates the wave shape. There are also a couple of distracting shadows. The placement of the light sources has yet to be finalised. I've also moved the camera up a bit for a slightly better angle.

Okay, here we are with the fractally wavelet bits put in. The colours show groupings of wavelets placed by the pseudo-recursive macros. They are coloured so I can see where each group is going and adjust the placement - this colouring won't be there in the final image!

Again, all of this is a single blob object. There are now 12900 sphere components (I think). It takes 21 seconds to parse and 3 min 46 sec to render at 320x240 pixels. Not bad for 1 object in the scene!

A boat. I need boats. So here's one. Or the beginnings of one. I still have to work out why the deck doesn't touch the hull at the back.

Here's all the shapes put together! Boats, with rowers and oars, and all the oceany bits. The colour is all gone. I'm going to colour this in with coloured spotlights. No object in the scene will have any colour other than white. Oh, I'll have to put a white backdrop in too, to hide the sky.

Adding some coloured spotlights makes it look like this. This is definitely getting there, but still needs a good deal of fiddling to make things better. I've added the plane in the background for the sky, and lit that up with spotlights too. It gets a bit bright near the middle - I'll have to deal with that.


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