Creating Our Own Skydomes

Add comment!

February 19th, 2009

For Overgrowth, we are photo-sourcing all our skydomes. So far, we've been searching sites like cgtextures.com to find these images. This means we are limited to the same small set of decent skydomes that countless other game developers are looking at. We don't want to be limited, and we've noticed that the skies here in Berkeley are often more dynamic than most. So, we decided to look for a way to make our own skydomes.

What we've found is an amazing research project that resulted in a photo-stitching app called Autostitch. Autostitch has several advantages over other means of capturing panoramas. First, unlike heavy duty methods that use motorized mounts, it requires no special hardware (other than a camera) and it's not expensive (in fact, the basic version is free :)). The fact that it's free and easy to use is especially important to us since we want all our tools to be as accessible as possible to modders.

Autostitch also improves over standard software methods for creating panoramas. Most photo-stitching programs can only handle 1D, cylindrical projections. This is great for horizon panoramas, but is not adequate for 2D, spherical skydomes. In addition, photo-stitching apps often require some user interaction; for example, the user may have to arrange the photos in order. Autostitch addresses these two shortcomings. It can handle full hemispherical projections, and it does so entirely automatically. With a handheld camera, we can just haphazardly shoot a bunch of photos all over the sky, and Autostitch does the rest!

This evening, John and I drove up to the Berkeley hills to capture the sunset. Here's how we did it step by step:

Step 1

Take a bunch of photos. Try to evenly cover the entire area you want to capture. No need for a tripod or any special technique.

Input photosA few of the 67 photos I used to make the skydome.

Step 2

Run Autostitch on the photos. This just takes a few button presses.

Autostitched panoramaAside from some quick tone mapping I applied with the GIMP, this is the raw, untouched output of Autostitch.

Step 3

Edit and extend the panorama to fill in an entire hemispherical sky.

Extended panoramaMy original panorama only covered about 150 degrees of the sky. So, I used the clone and smudge tools in the GMIP to fill in the rest of the 360 degree panorama, and to take out the elements in the foreground. This was a quick and dirty job. With more skill and more time (or just a wider angle starting panorama), this could be done much better.

Step 4

Load your new sky into Overgrowth! (Eventually we'll have an easy way to do this. For now, if you'd like to try this in the alphas, you'll have to edit the <sky> tag in the level xml file, and delete the terrain caches.)

Panorama in engineThe Berkeley sky in engine.

Now that we have this technology, I'll be keeping an eye out for interesting skies and capturing them as they come along. I've found this process quite fun. If any of you guys want to help us and try your hand at the process, we'd really appreciate it. Feel free to send us your sky images via AIM / MSN or on the forums.

What do you guys think about this method for creating skydomes?