We value your privacy. We use cookies to enhance your experience on our site. By using this site you agree to our Privacy Policy.

Wonderland Engine 1.4.0 - GI Probe Volumes, Reverse-Z, Array Properties

Sparse global illumination probe volumes, reverse-Z, new custom component parameter types (arrays and records). See the full changelog below.

Sparse Global Illumation Probe Volumes 

The highlight of this release is our high-end implementation of probe volumes. Our method places spherical harmonic diffuse light probes into the scene by voxelizing the scene and distributing the light probes near surfaces. The result is light-weight on both the GPU and download times, as we place probes only where needed, using data efficiently.

The probes are baked directly from the editor. The indirect lighting is applied even to dynamic and skinned objects.

The above scene has ~52,000 probes, which amounts to about 2.5MB of downloaded GI data.

Reverse Z 

Thanks to Playko for sponsoring this feature.

Reverse Z example.

Due to how 32-bit floating point numbers have higher precision close to zero, the usual range of precision for NDC coordinates (the result of projection) from -1 to 1 is suboptimal and can produce strong z-fighting artefacts at close and far distances. Extremely near or far clipping plane distance settings amplify this effect.

Reverse-Z configures NDC space and projection matrices such that the 32-bit floating point precision distribution is optimially used, enabling rendering of very close and extremely distant objects without the usual z-fighting artefacts.

Check out the reverse-z example here.

Always SIMD 

Due to the wide-spread adoption of WebAssemby SIMD, we were able to remove all non-SIMD variants of the runtime. This means, the -simd suffix is no longer used and implied for runtime names.

Support for Projects older than 1.0.0 

It is hard to believe that Wonderland Engine 1.0.0 was released almost to the day 2 years ago.

With 1.4.0, we are removing 38 individual project file migrations that update project files written with versions older than 1.0.0. That we had this many is a clear testament for how serious we are about backwards compatibility.

If you have a project file older than 1.0.0 that you want to continue working on with 1.4.0, you can always open it with 1.3.4 or an earlier version of Wonderland Engine to first migrate it to a version after 1.0.0 first.

Changelog 

Editor

  • New Global Illumation section in Project Settings to make and configure probe volumes.
  • Fix import of removed scene files instantiating old file contents.
  • Expose image compression quality and rate distortion optimization (RDO) settings in Resources View > Images.
  • Linux: Enable crash reporting
  • Improved in-editor login screen to login from browser instead (for password manager access).
  • Fix various crashes.

Engine

  • Use reverse-Z whenever EXT_clip_control is available.
  • New baked Global Illumation via sparse GI probe volumes.
  • Fix EPSILON_F constant invalid for mediump floats causing issues on lower end Android devices.
  • Update to meshoptimizer 0.23 (potential ~5-10% file size improvements for meshes).
  • Fix hot-reload of plugins potentially causing extra plugin entries in the Plugins View.
  • Optimized evaluation of tile feedback buffer on lower-end devices.
  • Fix artefacts on point light shadows.

Runtime

  • Remove non-SIMD variants of the WebAssemby runtime.
  • Optimizations to uncompressed texture uploads using ImageBitmap.
  • Allow upload to texture from ImageBitmap.

Runtime API

  • Add Property.array() and Property.record().

Docker Image

  • Switched base image from Ubuntu 20.04 to 22.04.

Plugin API

  • We now require the "wonderlandengine" key to be present in a plugin’s package.json.
  • Add experimental tools.computeMeshBounds(mesh).
  • Add ui.inputTextMultiline().
Last Update: May 12, 2025

Stay up to date.