The 1998 Holiday Card
card image
800x534 jpeg 800x534 ppm

The image on the lunabase 1998 holiday card is the result of me noodling around with POV-RAY, a public domain raytracer. Here's a brief explanation of what I did.

I was delighted that a couple people asked me where I took the picture. There is no physical scene like that, it was all computer-generated. No photos were composed or used in making the image at all.

What's a raytracer?

Raytracing is a computer graphics technique used to generate images, primarily those concerned with either photo-realistic images or those that have impressive lighting effects. This is done by directly modelling the path of light through a scene and calculating all the effects of reflection and refraction and other physical phenomena.

This kind of image rendering is hard work for the computer (or, if you prefer, it's CPU intensive). Remember suffering through optics in high school or college? In order to render our Christmas card, the computer here at the base sat and solved optics problems for more than 5 hours. If you're calibrating, it's a Pentium II 233 Mhz, 64 MB RAM, and was running FreeBSD 2.2.7 at the time.

The result of all that work is the realistic looking shadows, reflections in the globe and candleholder, refraction of the water in the globe and other lighting effects. Notice that there are really two candles on the shelf. You can see the second reflected in the snow globe.

If you're into that stuff, you can look at the POV-RAY scene files. They're available in a zip file or a gnu zipped tar file

I thought you were an OS geek

Well, I am, primarily. I like the card, and I think it looks pretty good for an amateur's first attempt at a realistic rendering, but compared to the folks who are serious, it's pretty bush league.

Still, when I was an undergraduate I took and enjoyed a bunch of graphics classes. It was a toss up when I went to graduate school whether I would do graphics or operating systems. Systems won, but now that I have the time and resources, I enjoy playing with the graphics.

Check this out

Here are a couple subsidiary images I created while working on the card that you might enjoy. All the images are available as jpegs and ppm files. The jpegs are smaller, but some show visible artifacts. Not all systems can render the more faithful ppm files. They run about 0.8 Megabytes, too.

The first image is the scene without any of the sophisticated textures mapped onto everything. Basically it's the same thing as on the card, but with everything carved out of plastic. I used it to place things properly in the scene, and to place the camera. It only took about 10 minutes to render, and most of that time was spent rendering the complex candleholder and scalloped edges of the shelf.

Cool secret fact: the bricks on the chimney are a texture map, that is they're "painted on." If you look at the edge of the chimney, you'd see no ridges where the bricks dissolve into the mortar. The candle that's in the image is placed to hide that.

boring image
640x427 jpeg 640x427 ppm

The second image is a closeup of the candle flame itself. The shape of the flame is a distorted sphere, which contains an emitting halo. That means a particle system that emits light, although it's not modelled as a point source. If that's gibberish to you, check out the cool layers, including the blue ones. The shape of the flame's still a little too regular when seen up this close, but I think it looks good in the final image. This image is really simple: about 2 minutes for the 640x427 ppm.

flame
640x427 jpeg 640x427 ppm

How did you print them?

I kept my Epson 800 color printer running for a couple evenings while I did other things. The images are printed at 1440 x 720 dpi, and look better than I thought they would. You can even make out the reflected candle and the wood grain in the shelf.

Closing

I could type about this stuff all day, but I've got to get on a plane home soon. If you have questions, comments or criticisms, let me know.

Valid XHTML 1.0!
and...
This page written and maintained by Ted Faber.
Please mail me any problems with, or comments about this page.
PGP public key