Build 3022 ‘Mt Daniel’

Build 3022 became available a few days ago on the Development Channel!

The full changelist is available at the Update Center.

Taken together with all of the pretty major improvements from Build 3021, within a few weeks they will together drop to the Release Channel and be known as the ‘Mt Daniel’ release.

Mt Daniel is one of the highest mountains in the Central Cascades.  Heavily laden with snow until well into the summer, it is a popular mountain climb here in the Pacific Northwest.

There are two main focus points in Build 3022:

Snow Device

For a release named after a snowy mountain, it’s perhaps unsurprising that ‘Mt Daniel’ introduces a completely new version of the Snow device. You can now model snowy scenes in all conditions… be that be a mid-winter snowscape, or lingering snowfields dwindling away in the hot summer months.

One of the included example worlds

There are several new example worlds featuring the Snow device (including the above one) as well as the Snowmelt macro and a helpful blueprint that lets you quickly and easily add snow to any scene.

All the full details about the new Snow device are in the last blog post, check it out there! The new device is dramatically faster, more controllable, and produces better results.

Build Improvements

The second major focus of 3022 was improving build ergonomics in World Machine, especially ultra-high resolution (>16k x 16k in size).

Here’s what new with Building:

Improved Reporting

  • You now have a build log that mentions any warnings or errors that occur during a build. This includes things like : a device failing to build, out of memory errors, or performance warnings when WM has to page memory contents to disk. This should help you track down issues where a build is failing to complete / not performing as expected.
  • The build status dialog also now has an extra digit of progress precision to help give you some reassurance on those really long builds.
  • All of the slow-to-build devices have had their progress reporting reviewed and modified so that you get more consistent progress reporting… no more sitting at “0%” for 20 minutes, only to jump immediately to 100%.

Fully Cancellable

Many devices in World Machine didn’t internally cancel previously — you’d have to wait for the device to finish before the build would cancel. This was a huge problem with large and slow builds. With 3022, all devices will cancel more or less immediately.

In addition, cancelling no longer locks up the UI thread, so it won’t appear that WM has crashed while it waits for the device to cancel.

Fewer Errors, Better Handled

With very large resolution builds that pushed the resources of the machine to the max, some people would run into a fairly critical error: Device failure due to running out of memory would be silently ignored by the build process. This is bad!

The last thing you want to have happen is wait forever for that 64k x 64k  build to complete, only to find out it didn’t produce a result.

Exacerbating this, the previous Layout Generator would build shapes in parallel, which was a fine choice 5 years ago with only a few cores and moderate resolutions, but a disaster with hundreds of cores and high resolutions — with each shape generating into its own heightfield, the amount of memory required spirals out of control, often leading to the failures listed above.

This is now fixed, along with a few other issues that crop up with very-large-sized builds. For some of your ultra high res builds, this change alone will conserve dozens of gigabytes of memory!

It’s worth noting one last thing: Many of the available export file formats don’t actually allow file sizes larger than 2GB. There’s unfortunately nothing that can be done about this, except having WM warn that it cannot export to certain formats in that case. This does not happen right now — but it will in the future.

That’s it for the major changes. There are also some smaller features (like additional macro creator options, speeded-up erosion masking, etc) and of course some bugfixes listed in the full changelist below.

Happy World Machining!

 


Full Changelist:

Major improvements:
————-

* Reworked Snow Device
The new version of the Snow device offers an improved Snow model that is more intuitive, dramatically faster, consistent across different resolution builds, and produces higher quality results. It works in tandem with the new “Snowmelt” macro to easily accumulate and melt snow. See the associated blog post for more details, as well as the new example worlds and blueprint.

* Improved Build Diagnosis and Stability
– The Build report now logs any warning conditions such as out of memory, paging, etc. This will allow you to diagnose any build failures much easier.
– Build errors now stop the build instead of allowing it to proceed with incorrect results.
– Canceling a build is now MUCH more responsive. Erosion, Thermal Erosion, Snow, Blur, Lightmap, Layout Generator, and Macros all now can cancel immediately.

Minor improvements:
——————-

* The Layout generator could previously consume large amounts of memory under some circumstances. The memory requires has been reduced dramatically and additionally progress is now reported much more usefully.
* Macro creators can now specify ranges and also optional exp scaling for scalar, distance, and elevation parameters.
* Erosion now has an early-out mechanism to speed up processing when large amounts of the terrain are masked out.
* Masked mesh output is now smoother, producing additional corner triangles

Bugfixes:
———

* Fixed crash bug on loading certain worlds/macros
* Fixed crash bug that could occur with large sized builds >2GB in size
* Fixed bug in Layout view when dealing with data that is of a different sized from the world
* Fixed bug where WM would claim diskspace failure when plenty was available for builds >2GB in size.
* Fixed bug where Undo disconnected macro connections
* Fixed minor issue where panning in Device workview sometimes didn’t track properly

 

2 thoughts on “Build 3022 ‘Mt Daniel’”

Leave a Reply

Your email address will not be published. Required fields are marked *