The Flu is Dead, Long Live the Flu…

The last week has been the next thing to a complete loss in terms of being able to get anything accomplished. It was a pretty nasty flu bug, but I think it’s finally defeated. The only problem being that it left a couple parting gifts, namely an ear and eye infection to boot. What a pain in the ass.
Sometimes it just isn’t your week. 🙂

The Flu

I knew there was a reason why I made a “Random Stuff” category. This is where I post thoughts and random happenings from my own life that are only marginally related to WM at best.
Nothing slows work progress on WM like getting sick. Got hit hard by the flu bug last night and haven’t really been able to do anything but drink water and answer emails today. My own fault, as I had just finished an extended workout with an hour-long jog that I think kicked the crap out of my immune system for a little bit, because I got a sore throat and a cough just an hour or so later.

Anyways, the thing I’m currently working on (besides finishing up the Tiled IO support) is to finally fix the goddamn seaming issues in Explorer mode once and for all. Explorer is almost unusable at low-resolutions because of the lighting seams. Well, it’s about half-fixed right now. The seams are now fixed for same-resolution tiles, but don’t deal with the adaptive level of detail very well. Have to change the seamfixing method for that to actually work right.
Small little issues like the explorer/layout seams are the kind of things that drive me nuts, as they aren’t such huge things but they take up a proportially huge amount of development time.

Off to make some chicken soup.

Overlay Output Example

The Overlay Output device and all of its attendant code in the core and visualization modules is finished; just wanted to show people an example of the kind of visualizations it provides:


This is showing a terrain coverage map draped atop the heightfield. A coverage map shows what type of terrain is at that location. It’s NOT a terrain texture by itself; rather it’s a type of terrain metadata that specifies WHICH texture to use at a given location.
The coverage map was created by the Coverage Maker device, which produces an RGB-encoded image, where each color is linked to a type of coverage. This allows you to setup your terrain surface texturing for the game or 3D app. You would then (in the engine or the next tool in the content pipeline) map each RGB triplet to a terrain texture to use, and you’re set!

The coverage map seen here is pretty simple, using essentially three input maps: 1) A Hi-Slopes mask 2) A randomness map (basic perlin noise device 3) The Flow map from the erosion device. More details about the coverage maker later.
Anyways, back to the Overlay Output. Since you can also now load RGB images into WM as well, you could, for example, load in an RGB image that you’ve sketched out quickly, and then use the Overlay output to combine it with a heightfield you’re working on to match the sketch. Or lots of other uses — you can probably imagine more than I can.

One more image:

Example 2

Using a different map and coverage schema, and viewing in Explorer mode. Although it isn’t final texturing at all, it actually looks pretty good. It’s amazing how having some actual coverage-based coloration rather than just the height-based colormap gives a much stronger sense of realism for the terrain imho. Having this kind of coverage data available during heightfield creation, if taken advantage of, will allow for much faster terrain texturing on game maps and other such endeavors.

I think focus is very important for tools, and although adding RGB support to WM is certainly an extension of its grasp., I  think terrain type coverage is a closely integrated problem with terrain modelling, and that puts it right into the purview of WM. If you need the ability to output Normal Maps/Coverage Maps/etc, then you have it. Otherwise, it doesn’t slow anything down.
Back to work for now.

The latest 'Behind the Scenes' news from Stephen, the author of World Machine