What's New

This page lists the new features and bug fixes introduced in the 2012 release.

New live eRnsT rendering

You can now use the Beast API to retrieve the lightmaps baked by the eRnsT real-time renderer. This allows you to provide a live preview of the final global illumination for your scene directly within your level editor.

For more on the live eRnsT workflow, see Workflows.

For more on creating and running a live eRnsT rendering job, see Rendering the Scene.

New eRnsT settings

The eRnsT viewer and the live eRnsT API offer some new settings:

Baking modes

You can now choose between baking just the surfaces visible in the camera view, or baking the entire level. Baking the entire level can be useful if you want to explore the whole level with the lighting already baked in. In that case, you don’t need to fly around with the camera to refine the lighting on all surfaces. You can just switch to level baking, wait a few minutes for the lighting to be refined, and then explore the scene.

In the standalone eRnsT viewer, this is controlled by the "Baking Mode" setting under Global Properties. In live eRnsT jobs, this is controlled using the ILBSetErnstGIBakingMode() function.

Variance limits

You can now set a variance limit that determines when light maps are considered good enough. When the variance of a light map reaches below this threshold, no more refinement calculations will be done for that map unless the lighting setup changes. This may improve performance by directing those calculations to other maps where the variance is higher.

In the standalone eRnsT viewer, this is controlled by the "Variance Limit" setting under Global Properties. In live eRnsT jobs, this is controlled using the ILBSetErnstVarianceLimit() function.

Light map compositing

You can now composite light maps with global scaling factors for direct light and indirect light. This is done without any recalculation of the lighting, so you can see the results of changing the amount of direct light and indirect light in your maps without waiting.

In the standalone eRnsT viewer, this is controlled by the "Direct Illumination" and "Indirect Illumination" settings under Global Properties. In live eRnsT jobs, this is controlled using the ILBSetErnstDirectIllumination() and ILBSetErnstIndirectIllumination() functions.

Noise reduction filter

The noise reduction filter has been improved. The filter will not affect and blur the direct lighting, and noise in the indirect lighting is reduced better. Therefore, you should see sharp direct light shadows and noise-free indirect lighting much more quickly than before.

In the standalone eRnsT viewer, this is controlled by the "Variance Threshold" setting under Global Properties. In live eRnsT jobs, this is controlled using the ILBSetErnstVarianceThreshold() function.

Other eRnsT improvements

LiquidLight

Improvements

  • The light render pass now supports Global Illumination, except when generating only shadowmaps.
  • You can now set a scale for the lambertian reflectance for each light pass, by calling ILBSetLambertianScale().

For more information on the light render pass, see Creating Render Passes.

Bug fixes

  • Fixed a bug that caused light sources to contribute to the path tracer cache even when ILB_LS_VISIBLE_FOR_GI was disabled in their light stats.
  • Fixed a bug that always set the shadow angle for window lights to zero.

Beast API

Improvements

  • Fixed perspective camera field of view. The field of view is recalculated to support target aspect ratios other than 4:3.
  • A warning is now printed for each mesh that has at least one degenerate triangle, and the mesh creation fails with an error message if no triangles in the mesh are valid.
  • Improved performance when writing XML in the scene export.
  • Fixed invalid UV coordinates in the Hangar model used in the examples.

Bug fixes

  • Fixed a bug with multi-threading locks.
  • Fixed a bug that printed text files in binary mode.
  • Fixed a potential crash that occurred when a file could not be opened.
  • Local (non-distributed) baking is now forced when permissions problems prevent running a distributed job. For instance, this may occur when running the examples from the Desktop folder.
  • Fixed invalid UV coordinates in the Hangar model used in the examples.

Rendertool

Improvements

  • Improved baking performance for distributed jobs on computers with more than four processors.
  • Improved crash dump support.
  • Errors caused by missing configuration files on the command line are now caught early.

Bug fixes

  • Fixed a potential crash in tiled texture baking.
  • Fixed a bug when baking a distributed job using the irradiance cache for final gathering.
  • Fixed a bug when baking a distributed job using multi-depth final gather as the primary GI integrator with the path tracer as secondary integrator.
  • Fixed a bug in the point cloud boundary merge.
  • Fixed a compatibility error that led to distributed jobs not supporting a non-invertable UV transform that was supported in non-distributed jobs.
  • Fixed a bug in shadowmap rendering for distributed jobs.
  • Result files are always copied instead of hard-linked, to avoid sharing violations.
  • Fixed a bug that could cause the wrong lights to be included in the pre-pass for light passes using GI.
  • Fixed a potential memory leak.

Distribeast

This release of Beast includes Distribeast version 0.2.33.0.

Improvements

  • The Distribeast installer now opens the Windows Firewall for all subnets instead of just the local subnet. This change allows Distribeast to work on larger networks.
  • Nodes now have improved support for using resource caches located on FAT32 volumes. Due to limitations in the number of files that can be stored in a single directory, nodes with resource caches located on FAT32 volumes could previously only handle 10,000 to 15,000 resources. With this release, that limit is increased by a factor of approximately 256.

    Tools older than the ones included in this release will not function properly with Distribeast 0.2.29.0 or later if the resource cache is located on a FAT32 volume.

    Nodes with resource caches located on NTFS volumes are unaffected by this change.

  • Better error messages when a tool cannot connect to the local node.
  • More validation before adding a tool to the local node.
  • Better error logging if the security descriptor for a folder could not be set.

Bug fixes

  • Corrected error handling for some malformed messages.
  • Corrected a permission problem that could lead to final resources not being accessible by the Beast API if the application using the API was not running as an administrator.