Category Archives: World Machine Development News

Development News concerning World Machine

June Update

So, what’s been percolating behind the scenes in the past while with World Machine?

Mostly things like bugfixing, business-side, and other custom work. I believe that 2.3 Beta-3 is starting to achieve very solid status; there are only a few more things I want to get into line before final release.

I’m writing here, however, about a new feature. Even though I’ve sworn to myself to feature-freeze 2.3, I find that the allure of working on a few small things from the feature-request backlog sometimes gets to be too much. Which explains the reason for this post…

Take a look at this screen capture straight out of World Machine:

There’s nothing obviously strange about this image, but it’s showing off a couple very cool new features that, despite being small, will revolutionize the way people texture with World Machine.

In particular, this image is using the new Colorizer tool to create custom textures. The existing Colorizer was only ever meant to simply allow you to use the built-in colortables in your texturing schemes. That can be useful, but is of only limited power.

The new colorizer allows you to quickly create custom RGB gradients. But far from simply using them as a height-color lookup table, in my experiments so far I’ve found them to be indispensible for practically every texturing purpose. Any time you want to vary color based on a heightfield, the new colorizer is now your go-to tool. Whether that means a gradient based on height, slope, erosion status, or practically anything else — being able to quickly map your input to a custom set of colors is huge.

In particular, in the image above I created a rough grassy pattern using a couple noise devices, then drove a colorizer with it to get a nice mottled grasslands color set. I did the same thing for the dirty areas, then Choose between the two based on slope/erosion data.

One other last interesting trick:  You may notice there’s alot of “rough” feel to the surface; I plugged a small collection of nodes together to effectively combine the texture with a surface texture heightmap and bake the resulting light+bump map into the surface texture. This is a cheap, but fun, hack.

 

To Crash, or not to Crash..

Hi folks,

I just realized that its been a while since I last posted here, so I figured I had best make an  update!

There’s been lots of work being done but not much visible progress lately. Partially this is because I’ve been doing a fair bit of work not directly related to the main  World Machine codebase  lately. However, more important is the fact that I’ve been doing lots of work in the last few months or so in improving the error handling of World Machine.

WM never really has handled error conditions particularly well; your answer to asking to do something beyond its capabilities was almost always a crash. The crash reporting handler in the last beta was the first step in refining things. For this next beta, enormous amounts of work have been put in to make World Machine maintain stability, recover gracefully, and inform you properly when things don’t go according to plan. This is particularly true of memory handling; My goal for the next beta is that you will be unable to make WM crash no matter what you ask of it! (Whether this is achieved will remain to be seen..)

Happy Holidays

Hi folks,

It’s been a while so figured I should write a little update! I hope all of you are having a great holiday. Things have been extremely hectic here both personally and professionally over the winter to date so I’ve been pretty bad at keeping up with my correspondence — if you’ve emailed me and not received a response yet, my apologies.

There are some interesting changes coming down the pipe in the next 2.3 Beta due to some contracted changes requested by a customer that will be shared to everyone. More about that in the next post. But for now I just wanted to get a shout out that I am alive and wish you all the best this season!