What's New in 2012.1.x

This page lists the new features and bug fixes introduced in the 2012.1.x releases.

2012.1.2

Bug fixes

  • Fixed an issue that could leave a distributed bake hanging, waiting for resources that had already been transferred.
  • Fixed a regression that could cause progress to be miscalculated for large bake jobs.
  • Fixed the Lua function getSampleOcclusion() so that it works for dynamic illumination sample types: i.e. when the gather.sampletype option is set to dyni (dynamic illumination), ddyni (direct dynamic illumination), or idyni (indirect dynamic illumination).
  • Fixed a potential crash that could occur when using meshes that have a color but no UV set.
  • Fixed a bug that caused the last scanline to be skipped when reading DXT1-compressed .dds images.

2012.1.1

Bug fixes

  • Fixed a problem that could cause black spots to appear when using the Monte Carlo integrator.
  • Fixed a problem that could cause curved surfaces to produce too many secondary final gather points.

Distribeast

This release of Beast includes Distribeast version 0.3.4.0.

Bug fixes

  • Corrected an issue that could produce spurious failed bakes upon disconnection of a remote node, due to an incorrect error code being generated for some resource transfers.
  • Corrected an issue that could lead to memory usage growing over time, degraded performance, and failed updates from versions 0.3.1.0 through 0.3.2.0 (contained in the Beast 2012.1 release).

    If you receive an error message on upgrade saying that a service could not be stopped, click Retry in the installer when the error message is displayed. The installation should eventually complete successfully.

2012.1 (original release)

Beast

Normal maps

You can now provide high-detail normal maps for your materials, which are taken into account during the illumination pass.

You set up the normal maps in the new material channel: ILB_CC_NORMAL. You can set a texture for this channel using the same methods as for other material channels. For details, see Creating Classic Materials.

Illumination pass for point clouds

You can now perform an illumination pass for point cloud targets. Use the new ILBCreateIlluminationPassSH() function to create the render pass.

See also Creating Render Passes.

Custom bases for the RNM pass

You can now configure the basis vectors used by the RNM pass, if your rendering system expects RNM lighting data to use a custom set of bases that differs from the "standard" bases supported by Beast out-of-the-box.

See also Creating Render Passes.

Clipping planes for spot lights

You can now set up your spot lights with near and far clipping planes using the new ILBSetClippingPlanes() function. The light from the spot light will only apply to objects that lie between these two clipping planes.

New Lua function for Lambertian reflectance

You can now retrieve the Lambertian reflectance for a light in your custom Lua baking scripts. Use the new getLightLambertianReflectance(int, vec3) function, where:

  • The integer argument specifies the index of the light.
  • The vec3 argument specifies the direction of the normal along which to get the reflectance.

See also Lua Reference.

Support for uncompressed .dds textures

You can now import textures from uncompressed .dds files that contain data in RGB or RGBA format.

New XML setting for controlling light leakage

If you use the final gather algorithm, and you have problems with light leakage at secondary final gather depths, you may be able to use the new <GISettings><fgMaxSearchRadius> setting to reduce the leakage without significantly affecting your rendering times.

See also Final Gather Settings.

eRnsT-style path tracing

This release adds support for eRnsT-style path tracing for Beast rendering jobs, through the Monte Carlo integrator.

You can also now configure the Lua pass to use the eRnsT-style Monte Carlo integrator by enabling the new gather.useMonteCarlo setting in the setup() function of your Lua bake script.

These changes allow you to make the results of your final baking through Beast match more closely the previews provided by the standalone eRnsT viewer or by the live eRnsT API in your level editor.

Performance

  • Improved performance for multi-bounce final gathering in distributed rendering.
  • Improved performance for point cloud search operations.
  • Reduced startup time for point cloud bakes.
  • Reduced creation time and memory requirements for acceleration data structure.
  • Reduced memory usage when the <ADSSettings><useSSE> option is enabled.
  • Improved performance for loading mesh data from files.
  • Improved multi-threaded performance for the irradiance cache.
  • Improved multi-threaded performance when reading radiance cache data from a file.

Other improvements

  • Log events from the cluster are now collected and saved in CSV format.
  • Improved support for Unicode names.
  • Improved sampling of spot light gobo textures. The sampling is now determined according to the way the spot light projects on the surface, regardless of UV sets and spot light placement.
  • Improved logging of warnings during scene loading. Warnings are now summarized to avoid flooding the log.
  • Improved error handling when reading PNG images.

eRnsT

  • Added checkerboard rendering for instances without light map data.
  • Added support for double-sided rendering in the standalone eRnsT viewer.
  • Added visualization of the shadow radius for spot lights and point lights.
  • Improved the performance of texture light map initialization.

Distribeast

This release of Beast includes Distribeast version 0.3.2.

Improvements

  • Improved communication performance.
  • Improved messaging prioritization.
  • Improved event handling prioritization.
  • Lowered priority for disk I/O.
  • Nodes are now better at skipping unnecessary operations related to canceled or failed jobs.
  • Improved startup logging.

Bug fixes

  • Overzealous error reporting no longer results in failed jobs.
  • Canceling a job at an early stage no longer leads to nodes being held until the Distribeast service is restarted.
  • A potential deadlock condition was found and corrected.
  • A potential crash on shutdown was found and corrected.
  • Errors are now logged correctly for spawned processes.
  • Sent resources are now logged correctly.