Tiled File Input

The basic functionality of the Tiled File Input is completed.

A bit more explanation of what it does might be in order.

As you know, the normal File Input allows you to load a single file from disk, and place it at any size and location in worldspace. Thus, you can create a low-res guidemap, stretch it across a huge expanse of world space, and then use it to guide the fractal generators to create a high-detail terrain.

With Pro edition and Tiled Output, you can optionally output many small slices of terrain instead of a single large heightfield. In this way you can create practically unlimited-size and detail output — instead of being capped at 8192×8192 (and that only in relatively simple cases), like in the Standard edition.

The Tiled File Input allows you to input a composite terrain that is made up of many small tiles as well. This composite might have been made by World Machine itself (bringing the results of a previous Tiled Output run back into World Machine), by a bitmap-slicing program, or some other source of tiled terrain/image information.

You still define an expanse of world space to map this tileset into — but now the source is many heightfields instead of a single one. Since there’s no way WM can have them all in memory at once (one of the reasons for tiling the terrain in the first place!), WM maintains a cache in memory of the tiles, keeping only the tiles/resolutions necessary in memory at a given time.

What does this let you do?

  • Visualization: You can pan around the (huge) custom terrain Google-Maps style in Layout mode, or fly through the terrain in Explorer mode, making it easy to actually visualize the contents of your massive map.
  • Flexibility: There are no limits placed on the number of streams of tiled data. You could have multiple Tiled File Inputs defined at different locations in world space, providing insanely high-detail terrain at certain locations. You can then set the render quad to whatever location and resolution you want and image as much or as little of these tilesets as you want.
  • Seamless iterative editing: The tiled nature of the terrain is invisible to the other devices of World Machine. You could, for example, input a 100×100 size tileset, each tile of which is 512×512. You can then perform whatever editing operations you want on the terrain — shaping, erosion, etc. Simply wire the output of all of your edits to a File Output device, set the Tiled Output options to match, and run the Tiled Output. All erosion, etc will be performed across tiles* and in a seamless manner, and your output is a new set of tiles that contains all of your edits.

*Obviously, there are some limits to this owing to the tiled nature of the output. When applied to the extreme, effects will look different tiled versus only as a single heightfield. Some comparisons will come later..

There’s quite a bit of coding left to do to finish up the device and make it robust. In addition, the caching mechanism also needs to be improved. Right now it does a simple LRU scheme on the tiles of the set; Future caches will keep full-detail LRUs in addition to containing low-resolultion full-tileset data, which greatly speeds up exploring/layout viewing the tiled data. Hopefully these changes and other things will be completed this week.

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.

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