Image Effects Image Effects by cecilia
Terraforming Mars

I've always loved space... planets, nebula's, The Great Out There. I've wanted to go to the moon for as long as I can remember. I've been Out There one way or another - except physically - for a long time.

During my career, I have often found myself working on commercials - which are less than inspirational. They pay the rent, but starve the soul. So it was kismet that I would be asked to do some of the effects for From the Earth to the Moon. During the time I worked on this project, I was in touch with all the things that meant the most to me as I was growing up. I'm lucky enough to have been born in the century when we took our first baby-steps into the future: going out into space. These moments in human history rise above every other, in my opinion. It's taken us millions of years to evolve into thinking humans, who finally can see what we look like to the rest of the universe. I'm referring especially to that singular moment during Apollo 8, when we saw the first Earthrise over the Moon. Here, for the first time, we left the orbit of Mother Earth, and while going around another planetary body, looked back and saw... ourselves.


Back on July 4th, 1997, NASA sent out some little robotic friends who gleefully rolled around the surface of Mars, taking pictures as if they were Japanese tourists in Scotland. At the moment, Mars is an interesting place, but not very habitable. No History Channel, no 7-11's, no Holiday Inns, no interesting little bookstores in a back alley, no back alleys! What would it look like if we changed it? Made it nice and comfy to live on? It's that ol' science fiction chestnut - Terraforming a "dead" planet. People like Arthur C. Clarke have experimented with the idea of changing Mars. Clarke used Virtual Reality Laboratories' Vistapro, three-dimensional landscape simulation software, for his foray into this future, and described it in a book.

We'll use ImageFX to do something similar; and since we're only altering a PICTURE of Mars, we won't have to deal with the moral issues of modifying a world that doesn't belong to us - that often broken Prime Directive. We only have to make a cool picture and satisfy our fantasies. Easy enough.

I have a picture of Mars that must have come from NASA, but don't ask me where exactly. I collect planet maps - just in case. There's lots of stuff to be obtained from any of the JPL websites, and various online astronomy magazines. Feel free to go find your own images of the whole solar system. I altered the original image for this project, making it 720 x 720; because I'm going to spherize it later, and I have learned that square images spherize better than rectangular ones.

Terraforming the Planet

If you wish to follow along with the tutorial, you will need to first download the tutorial file archive here: I've got everything in the directories where the scripts expect them to be. Just move everything into your ImageFX directory as you see it, and all should work fine.

Here's what we're going to do for this project: identify certain areas on Mars and slowly make oceans and foliage appear there. We'll see the lower elevations fill with water, and the higher ground become lush with greenery, starting from the center and growing outward. All while the planet rotates. Like we're watching it evolve right before our eyes, as it spins in space. Oooohhh Aaaaahhh!

Now we are ready to begin terraforming. First, we need a way to differentiate a "land mass" on our Mars image. One way to do this is to make alpha buffers. However, I want a subtle evolution-over-time to occur, and if I used the alpha channel method, I'd have to make a whole sequence of them. I'm always seeking the most efficient technique, so this does not appeal to me. A better way is to use ImageFX's region capability. I've already created the regions needed for this project, which you should find in the "Brushes/regions/ImageEffects/Terraform/" directory, if you installed the tutorial archive properly. The Region method works best, because I only have to make (in this case) two regions. These regions were made by using the Flood Region tool, and letting ImageFX differentiate the darker areas from the lighter ones. It actually works very well. When you reverse the land region, you get the water areas. Seems simple enough. (Hey, I thought it was clever!)

So how do we change the reddish dirt of Mars into green, lush, and growing plants? Ah, Ha! I used Ron Jensens' CCGamma Hook, because it let's me change the RED, GREEN, and BLUE gamma values in the image. I just like the way this hook changes the colors, since I have more control than what is found in ImageFX's Balance hook. I've included this particular hook in the tutorial archive, but you can find his other hooks and programs at his website.

Okay, enough about how it's done, let's do it...

This will take ImageFX awhile, so in the mean time, let me explain a little of what's happening.

In "Rotate_Gamma.ifx", I use CCGamma three times. First to change the land color, then after the Mars region is reversed, to change the water areas, and finally to add a little variety to the new color in the land areas.

The land shouldn't be all the same color, that would be too artificial. So, to add more subtlety, I use FeatherIn with every CCGamma process. At the beginning of the animation, the feathering is the highest at 50 pixels. By the end of the animation, and the completion of the terraforming, the feathering is at 1 pixel. I want the terraforming to appear to grow outward as the land gets more greenish, and as the oceans spread out. There are some processes in ImageFX which do not use feathering, and my decision to use CCGamma was based not only on its ability to make cool colors, but because it works with regions and feathering. Ron did a nice job.


If you look at the script in a text editor, you'll notice that I add comments to indicate the values of each argument. For example, "/* a=(50,1) */" is the FeatherIn values that get processed into the IMP script. I do this to keep track of all the numbers. Otherwise I'd forget. Seriously! For each run of CCGamma I've identified the RED, GREEN, BLUE and White Point values.


The Final Animation

There you have it, well what you see here is just a reduced size, 4 frame version. Click on that animation to see a 30 frame version (224 K). You'll definitely want to create an animation in full size; and if you want to make a it longer than 30 frames (it's worth the effort), you just need to make a couple small changes. For example, if you wanted a 500 frame animation, all you need to do is edit the "Rotate3.ifx" script and change the 30 in "DO i=1 TO 30" to 500. Also, in steps 2 and 3, change 30 to 500.

If you're going to play around with CCGamma, you should know that it's still in an alpha state - even though it works just fine. The only confusion is that the numbers you see in the GUI window are not the numbers that are recorded in an ARexx script. Yes, that's a little weird, but I didn't let that stop me with this project. Just make a macro when you like the way a certain set of numbers looks and use that as any reference you need. If you use the provided scripts, you won't even notice there's a problem. I'm just telling you in case you want to play with the settings some, and make Mars some purple and yellow thing. Or, you could use this project idea to show what would happen to Earth if we screwed up and destroyed the environment.

So now you can go change planets all across the universe, if you wish. There's alot of additional image processing that can be done here. Making cities, roads, an atmosphere, etc. Just think of all those cool inspirational stories by Hal Clement, Fred Pohl, James Blish and others that you can now go and visually realize! Take up the pioneer spirit, and go in search of new places where we can really be free! That's heaven! I'm goin'!

The complete contents of this site are unless otherwise indicated.
The contents may not be reproduced in whole or part, in any form, without prior written consent from cecilia. You have been warned ;)

Need help with this topic? Email Me

Back to